{"projects": [{"components": [{"description": "", "name": "API"}, {"description": "", "name": "CI Blocker"}, {"description": "", "name": "CLI"}, {"description": "", "name": "clj-pcp-client"}, {"description": "", "name": "clj-pcp-common"}, {"description": "", "name": "clj-pxp-puppet"}, {"description": "", "name": "cpp-pcp-client"}, {"description": "", "name": "DOCS"}, {"description": "", "name": "GUI"}, {"description": "", "name": "leatherman-integration"}, {"description": "", "name": "pcp-broker"}, {"description": "", "name": "pcp-test"}, {"description": "", "name": "protocol"}, {"description": "", "name": "pxp-agent"}, {"description": "", "name": "pxp-agent package"}, {"description": "", "name": "QA"}, {"description": "", "name": "ruby-pcp-client"}, {"description": "", "name": "UX"}], "description": "", "externalName": "Puppet Communications Protocol", "issues": [{"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:1134d60c-31df-407a-b573-e0cfaef8865e", "body": "[https://puppetlabs.zendesk.com/agent/tickets/52069|https://puppetlabs.zendesk.com/agent/tickets/52069] Support ticket for reference, from Epic Systems (PE Premium, +40000 nodes)", "created": "2023-05-23T07:25:00.000000"}], "components": [], "created": "2023-05-23T07:06:00.000000", "creator": "557058:1134d60c-31df-407a-b573-e0cfaef8865e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@625372cc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0m4mx:"}], "description": "This came in from a customer use case where they want to have the pxp service running but want to turn autostart off.\n\nTrying to do this with the exposed parameters in PE, `puppet_enterprise::profile::agent::pxp_enabled` will stop both the service and the autostart.\n\nI think this is down to [https://github.com/puppetlabs/puppet-enterprise-modules/blob/main/modules/puppet_enterprise/manifests/pxp_agent/service.pp|https://github.com/puppetlabs/puppet-enterprise-modules/blob/main/modules/puppet_enterprise/manifests/pxp_agent/service.pp] \n\nCan 2 parameters be exposed, one for the ensure and one for the enable service parameters?", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "63774", "fixedVersions": [], "id": "63774", "issueType": "Bug", "key": "PCP-914", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Medium (migrated)", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:1134d60c-31df-407a-b573-e0cfaef8865e", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "23/May/23 7:06 AM", "summary": "When managing the pxp-agent service via PE, the ensure and enable parameters can't be controlled independently", "timeSpent": "PT0S", "updated": "2023-05-23T07:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "6220dbdbc4d0fe0069535259", "created": "2022-10-06T12:43:00.000000", "name": "pxp-agent.conf", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12362"}, {"attacher": "6220dbdbc4d0fe0069535259", "created": "2022-10-06T12:22:00.000000", "name": "pxp-agent.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12337"}, {"attacher": "6220dbdbc4d0fe0069535259", "created": "2022-10-06T12:19:00.000000", "name": "socketopen.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12350"}, {"attacher": "6220dbdbc4d0fe0069535259", "created": "2022-10-06T12:24:00.000000", "name": "squid.conf", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12330"}], "comments": [{"author": "5ade3a9f91bc312e6a4a30f3", "body": "Can you include the pxp-agent config file too please.\u00a0", "created": "2022-10-06T12:38:00.000000"}, {"author": "6220dbdbc4d0fe0069535259", "body": "Absolutely - pxp-agent.conf is attached...\u00a0", "created": "2022-10-06T12:44:00.000000"}], "components": ["pxp-agent"], "created": "2022-10-06T12:26:00.000000", "creator": "6220dbdbc4d0fe0069535259", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@24db3af5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk3v7:a066j8r8492i9"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "49753"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/Oct/22"}], "description": "When testing the format of the proxy configuration I discovered that with an unauthenticated proxy, tasks and communications from the pxp-agent work as expected, but when adding basic auth I begin to see _Invalid Proxy URI_ errors in the pxp-agent.log file as follows\n{code:java}\n2022-10-06 18:11:36.503520 INFO \u00a0puppetlabs.cpp_pcp_client.connection:470 - Establishing the WebSocket connection with 'wss://ahpepri2021-a13c00-0.us-west1-c.c.customer-support-scratchpad.internal:8142/pcp2/agent' through proxy 'http://squiduser:puppet@ahsquid-a13c00-0.us-west1-c.c.customer-support-scratchpad.internal:3128' with a timeout of 5000 ms\n2022-10-06 18:11:36.503845 WARN \u00a0puppetlabs.cpp_pcp_client.connection:632 - WebSocket on fail event (connection loss): Invalid proxy URI (code: 1006){code}\nI am using \"http://squiduser:puppet@ahsquid-a13c00-0.us-west1-c.c.customer-support-scratchpad.internal:3128\" as the setting for the _broker_proxy_ and _master_proxy_ in the PE Agent Node Group\n\nI have verified that I am able to complete the connection from curl at the command line with the command\n{code:java}\n/opt/puppetlabs/puppet/bin/curl --proxy \"http://squiduser:puppet@ahsquid-a13c00-0.us-west1-c.c.customer-support-scratchpad.internal:3128\" --cacert $(puppet config print localcacert) --cert $(puppet config print hostcert) --key $(puppet config print hostprivkey) \u00a0--header \"Connection: Upgrade\" --header \"Upgrade: websocket\" \u00a0--header \"Sec-WebSocket-Version: 13\" --header \"Sec-WebSocket-Key: $(head -c 16 /dev/urandom |base64)\" --verbose --write-out 'time_namelookup: %{time_namelookup}\\ntime_connect: %{time_connect}\\ntime_total: %{time_total}\\n' \"https://ahpepri2021-a13c00-0.us-west1-c.c.customer-support-scratchpad.internal:8142/pcp2/\" {code}\nwhich outputs the attached _socketopen.log_ file showing the websocket connection being opened successfully.\n\nAlso attached is the _pxp-agent.log_ file showing the connection errors and _squid.conf_ from the proxy", "environment": "All servers are running centos7 with a Puppet Enterprise 2021.5 instance", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32006", "fixedVersions": [], "id": "32006", "issueType": "Bug", "key": "PCP-913", "labels": ["jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "6220dbdbc4d0fe0069535259", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent cannot connect using authenticated proxy", "timeSpent": "PT0S", "updated": "2022-10-26T11:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2022-08-29T06:16:00.000000", "creator": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@506f8f0c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0jc95:"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "49156"}], "description": "Hi,\nI'e a fleet of systems connected to PE 2019.8.11. They run pxp-agent 1.15.16. The log directory usually looks like this:\n\n{code}\n# ls /var/log/puppetlabs/pxp-agent/\npxp-agent.log  pxp-agent.log-20220829\n{code}\n\nI'm wondering why there are only two logfiles, and none of them are zipped. Based on the naming scheme I think logrotate didn't create pxp-agent.log-20220829? Is it possible that pxp-agent rotate the logs on its own?\n\nThe system is a RHEL 7 box. I see this pattern on multiple boxes.\n\npxp-agent version:\n{code}\n# pxp-agent --version\n1.15.16\n#\n{code}\n\nlogrotate config:\n{code}\n# cat /etc/logrotate.d/pxp-agent\n/var/log/puppetlabs/pxp-agent/*.log {\n    daily\n    missingok\n    rotate 30\n    compress\n    delaycompress\n    notifempty\n    sharedscripts\n    postrotate\n        systemctl is-active --quiet pxp-agent.service && systemctl kill --signal=USR2 --kill-who=main pxp-agent.service\n    endscript\n}\n#\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32252", "fixedVersions": [], "id": "32252", "issueType": "Bug", "key": "PCP-911", "labels": ["jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Logration for pxp-agent 1.15.16 seems to be broken", "timeSpent": "PT0S", "updated": "2022-08-31T01:03:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2022-02-28T17:10:00.000000", "creator": "5e9550d2a401ee0c33b5aa58", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6304554"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0ervq:"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "47530,50238"}], "description": "On PE 2019.8.7, when a task exits 0 but has output on stderr, on rhel7 ppc64le, the task fails with the following error (and does not produce the expected output):\n\n> {{Error: failed to retrieve the output: failed to read file '/opt/puppetlabs/pxp-agent/spool/xxxxx/exitcode'}}\n\nThe same script works as expected/does not fail on rhel7 x86_64\n\nexample (hostnames redacted)\n\nThe following works on both x86_64, ppc64le\n\n{code}\n$ cat test1.sh\n#!/bin/bash\necho \"Hello world\"\nexit 0\n{code}\n\n{code}\n$ puppet task run module::test1 -n {node}\n[...]\nFinished on node {node}\n\nSTDOUT:\nHello world\n\nJob completed. 2/2 nodes succeeded.\nDuration: 1 sec\n{code}\n\nIf the task outputs to stderr, this results in error:\n\n{code}\n$ cat test2.sh\n#!/bin/bash\necho \"Hello world\" >&2\nexit 0\n{code}\n\n{code}\n$ puppet task run module::test2 -n {rhel7ppc64le},{rhel7x86}\nStarting job ...\nNote: The task will run only on permitted nodes.\nNew job ID: 70985\nNodes: 2\nStarted on rhel7x86 ...\nStarted on rhel7ppc64le ...\nFinished on node rhel7x86\nFailed on rhel7ppc64le\nError: failed to retrieve the output: failed to read file '/opt/puppetlabs/pxp-agent/spool/70985/exitcode'\n|\nJob failed. 1 node failed, 0 nodes skipped, 1 node succeeded.\nDuration: 0 sec\n{code}\n\nppc64le the pxp-agent host returns \"exit 11\" instead of \"exit 0\" when output is present on STDERR\n\n{code}\nrhel7x86|x86_64|7.9:[/opt/puppetlabs/pxp-agent/spool/70985] # jq -r < metadata\n{\n \"requester\": \"pcp://primaryserver.here:8143/server\",\n  \"module\": \"task\",\n  \"action\": \"run\",\n  \"request_params\": \"{}\",\n  \"transaction_id\": \"70985\",\n  \"request_id\": \"59ca1d00-47df-428c-ac67-876bdc1a7870\",\n  \"notify_outcome\": true,\n  \"start\": \"2022-02-28T22:18:52.808392Z\",\n  \"status\": \"success\",\n  \"end\": \"2022-02-28T22:18:52.829997Z\",\n  \"results_are_valid\": true,\n  \"results\": {\n    \"exitcode\": 0,\n    \"stderr\": \"Hello world\\n\"\n  }\n}\n\nrhel7ppc64le|ppc64le|7.8:[/opt/puppetlabs/pxp-agent/spool/70985] # jq -r < metadata\n{\n  \"requester\": \"pcp://primaryserver.here:8143/server\",\n  \"module\": \"task\",\n  \"action\": \"run\",\n  \"request_params\": \"{}\",\n  \"transaction_id\": \"70985\",\n  \"request_id\": \"f6058caf-a8bb-4db7-bbe7-defaf98a5299\",\n  \"notify_outcome\": true,\n  \"start\": \"2022-02-28T22:18:52.807586Z\",\n  \"status\": \"success\",\n  \"end\": \"2022-02-28T22:18:52.858315Z\",\n  \"results_are_valid\": true,\n  \"results\": {\n    \"exitcode\": 11\n  }\n}\n{code}", "environment": "PE 2019.8.7\npuppet-agent 6.23.0 (pxp-agent 1.15.13)\nrhel7 ppc64le", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32002", "fixedVersions": [], "id": "32002", "issueType": "Bug", "key": "PCP-910", "labels": ["jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "5e9550d2a401ee0c33b5aa58", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Tasks with exitcode 0 and output on stderr fail/report error on rhel7 ppc64le", "timeSpent": "PT0S", "updated": "2022-11-15T15:07:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2022-01-12T10:50:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@35831a93"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0dfv4:"}], "description": "https://github.com/puppetlabs/cpp-hocon/commit/c929f6598bb948d914a2f12c99e9db07d0931cf5 was merged to cpp-hocon (which pxp-agent depends on) but puppet-agent is testing and shipping an older tagged version: 0.3.0 I assume we want to tag and bump to the current version in preparation for the next set of puppet-agent releases?", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31756", "fixedVersions": [], "id": "31756", "issueType": "Task", "key": "PCP-909", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Bump puppet-agent to using the latest cpp-hocon", "timeSpent": "PT0S", "updated": "2022-01-12T10:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "5a1beb0b007eb21a79e5d6de", "created": "2021-12-20T13:00:00.000000", "name": "test_results.txt", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12359"}], "comments": [], "components": [], "created": "2021-12-20T13:01:00.000000", "creator": "5a1beb0b007eb21a79e5d6de", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@182d8ecc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0d61c:"}], "description": "While running some ad-hoc pipelines for adding RHEL9 to puppet-agent, we noticed that a pxp-agent test was failing for invalid_ssl_config (see attached file).\n\nThis was not caught on the nightly builds as this test has been skipped.\n\nThis test appears to be failing on all platforms, not just RHEL9.\n\n[^test_results.txt]", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32287", "fixedVersions": [], "id": "32287", "issueType": "Bug", "key": "PCP-908", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "5a1beb0b007eb21a79e5d6de", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Failing invalid_ssl_config test", "timeSpent": "PT0S", "updated": "2021-12-20T13:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-12-09T13:34:00.000000", "creator": "5ade3a9f91bc312e6a4a30f3", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@23cfa88a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hykawv:00008zzzzzzzzzzzzw"}], "description": "When PCP-906 https://puppet.atlassian.net/browse/PCP-906 was promoted windows agents started having issues described in https://puppet.atlassian.net/browse/PE-33165 . In order to \"fix\" this websocket logging was turned off for all agents. It appears that it will be safe to re-enable ONLY for non-windows platforms. This ticket tracks enabling websocket logging on non-windows platforms. ", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32286", "fixedVersions": [], "id": "32286", "issueType": "Task", "key": "PCP-907", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "5ade3a9f91bc312e6a4a30f3", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Enable websocket logging on non-windows agents", "timeSpent": "PT0S", "updated": "2022-03-16T11:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6361cbfc59c794184bcbd33a", "attachments": [], "comments": [{"author": "5ade3a9f91bc312e6a4a30f3", "body": "[~accountid:557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20]\u00a0will update with more information about implementation.", "created": "2021-09-22T11:10:00.000000"}, {"author": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "body": "CTH-69, the original reason websocketpp logging was turned off, feels concerning. I'm not sure if we want to replicate the test specified in the ticket as part of this work to ensure that turning the logs back on does not crash the application. If we do, then it's going to be quite a time dump for me to re-familiarize myself with PCP so that I can replicate the testing. At that point, it may be better for someone more experienced with PCP to pick this up. If we don't want to replicate the test in CTH-69, then I can pick this ticket up again if I have nothing else to work on.\n\nEither way, moved this back to RFE since it needs a bit more information re: whether or not we want to replicate CTH-69's tests.", "created": "2021-09-27T05:48:00.000000"}, {"author": "5fff7df991bb2e01082cf9b7", "body": "Here's what I've tried so far:\n * [https://github.com/beechtom/pxp-agent/commit/d9289aa772f2ee8104929be676d14e2cb9361288]\n * [https://github.com/beechtom/cpp-pcp-client/commit/8e08a6d8f1e0796cab14e858e126506de5baeaf0]\n\n\u00a0\n\nStarting the pxp-agent service with those changes causes the application to crash with a segfault. I wasn't able to figure out exactly why, though possibilities include:\n * Issues around multiple inheritance in the PXPConnectorV1 and PXPConnectorV2 classes and calling the setWebSocket* functions on those classes.\n * The connection_ptr_ or connector_ptr_ members not being set when calling the setWebSocket* functions.\n * Something relating to why websocketpp logging was originally turned off in CTH-69.", "created": "2021-10-27T10:23:00.000000"}], "components": [], "created": "2021-09-22T09:59:00.000000", "creator": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@26508cfb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0bdib:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/Sep/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_186763599_*|*_10007_*:*_1_*:*_436412286_*|*_3_*:*_3_*:*_2321127168_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_621948079_*|*_10005_*:*_1_*:*_7349"}], "description": "Currently, we do not log messages from the websocketpp library in pxp-agent. This makes things much harder to debug when network/websocket issues occur in user environments.\n\nWe should update pxp-agent to log messages from the websocket lib.\n\nwebsocketpp has docs on logging [here|https://raw.githubusercontent.com/zaphoyd/websocketpp/master/docs/logging.dox]. cpp-pcp-client (which is where we actually include websocketpp) explicitly disables logging from websocketpp [here|https://github.com/puppetlabs/cpp-pcp-client/blob/16c63f812b805f33b78d7affa5368f9a21251f6e/lib/src/connector/connection.cc#L87L89]. The first step to getting logging is likely changing that {{clear_access_channels}} call to {{set_access_channels}}\n\nBased on the linked documentation we should be able to use a function, {{set_ostream()}}, to point the websocketpp loggers at the pxp log files:\n\"Logging interfaces may be directly accessed via their associated endpoint or connection using get_alog() and get_elog(). This allows access to methods specific to the chosen logging policy\"\n\"Each logging interface may be optionally redirected to an arbitrary C++ stream (including file streams) using the `websocketpp::log::basic::set_ostream()` method.\"\n\nsomething like \n{code}\nendpoint_->get_alog().set_ostream(&pxp_logstream)\nendpoint_->get_elog().set_ostream(&pxp_logstream)\n{code}\nseems like it should work\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32284", "fixedVersions": [], "id": "32284", "issueType": "Task", "key": "PCP-906", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "resolution": "Fixed", "resolutionDate": "2021-11-02T16:36:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Integrate websocketpp logging in to pxp-agent", "timeSpent": "PT0S", "updated": "2021-12-09T13:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2020-09-21T08:03:00.000000", "creator": "5b9fcedc03b52466f05c4510", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@ec49d41"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o045c0:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_150638136_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1840602235"}], "description": "https://puppet.atlassian.net/browse/PA-3404 removes `puppet/bin` from Puppet. This means that pxp-module-puppet will need to use a fully qualified PATH to the Ruby executable from Puppet Agent AIO", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31591", "fixedVersions": ["pxp-agent 1.15.7"], "id": "31591", "issueType": "Improvement", "key": "PCP-902", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "5b9fcedc03b52466f05c4510", "resolution": "Won't Do", "resolutionDate": "2020-10-14T09:10:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Do not rely on having Puppet's ruby in PATH for pxp-module-puppet.bat", "timeSpent": "PT0S", "updated": "2020-10-14T09:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": [], "created": "2020-07-14T12:02:00.000000", "creator": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@796a399e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o031sg:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_14832_*|*_3_*:*_1_*:*_1895620325_*|*_5_*:*_1_*:*_0"}], "description": "Jetty doesn't seem to do any incremental updates, when it \"reloads\" an SSLContextFactory it creates a new CRLImpl with new CRLEntries, the vast majority are duplicates of each other. The SSLContextFactory no longer holds a reference to the old CRLImpl and once the SSLContexts created from the factory are done it should be garbage collected. But afaict, the open Websocket connections are holding a reference to the SSLContext they were created with.\n\nThis I believe is a contributing issue to PE-27722. The user in question operates a private cloud where nodes may be recycled by\n1. revoking the agent's cert and disposing the vm\n2. pushing the updated crl out to the compilers/brokers\n3. bringing up a new vm with a new agent\n4. running puppet on that agent via pxp\n\nThis causes the new agent to have a different CRL/SSLContext then the existing connections (Or, in other words, the established connections retain the previous CRL)\n\nThis workflow happens many times a day causing significant CRL build up causing CRLs to take up 10-20% of the heap.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31590", "fixedVersions": [], "id": "31590", "issueType": "Improvement", "key": "PCP-900", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2020-08-05T10:36:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "PCP Broker should refresh connections after SSLContextFactory reload", "timeSpent": "PT0S", "updated": "2020-08-05T10:36:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "5abd613dd4cf3c56be24b70d", "body": "closing in favor of PE-29541", "created": "2020-07-08T03:30:00.000000"}], "components": [], "created": "2020-07-07T08:42:00.000000", "creator": "5abd613dd4cf3c56be24b70d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@30c7507e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o02x1k:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_67667795_*|*_6_*:*_1_*:*_0"}], "description": "[TODO] add description ", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32062", "fixedVersions": [], "id": "32062", "issueType": "Task", "key": "PCP-899", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Duplicate", "resolutionDate": "2020-07-08T03:30:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Rotate log files for pxp-agent", "timeSpent": "PT0S", "updated": "2020-07-08T03:30:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "attachments": [], "comments": [{"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "The files in {color:#000000}/etc/sysconfig directory contain variables used by respective init scripts.\n{color}\n\n{color:#000000}For pxp-agent example, variable {color}{color:#000000}PXP_AGENT_OPTIONS from /etc/sysconfig/pxp-agent is explicit used in pxp-agent init script.\n{color}\n{code:java}\n/etc/init.d/pxp-agent:40: daemon $daemonopts $exec ${PXP_AGENT_OPTIONS}\n{code}\n{color:#000000}We could make specific implementation for {color}{color:#000000}http_proxy/{color}{color:#000000}https_proxy or other variables as required.\n{color}\n\n{color:#000000}\u00a0{color}\n\n\u00a0", "created": "2020-05-27T04:24:00.000000"}, {"author": "5ade3a9f91bc312e6a4a30f3", "body": "How is this not solved with\u00a0https://puppet.atlassian.net/browse/PCP-848\u00a0? Is there a bug with that implementation?\u00a0", "created": "2020-05-29T09:00:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "I checked and setting \"master-proxy\" and \"broker-ws-proxy\" in pxp-agent.conf works as intended and can be used to set proxy for pxp-agent while running as service.\n\nSince we already have a method to set http_proxy I think it is enough and supporting http_proxy/https_proxy environment variables is not needed anymore.", "created": "2020-06-09T03:02:00.000000"}, {"author": "70121:4596f954-1fdf-472f-a700-6b7c2ffbc525", "body": "Since we already have a method to set http_proxy I think it is enough and supporting http_proxy/https_proxy environment variables is not needed anymore.", "created": "2020-06-09T03:05:00.000000"}], "components": [], "created": "2020-05-21T01:46:00.000000", "creator": "5c2ff333c5484b691dd2c43a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@386f77ff"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "CS Priority", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o022f0:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "38968"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/May/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_456924506_*|*_10007_*:*_1_*:*_933681174_*|*_3_*:*_1_*:*_188203398_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_67479311"}], "description": "When setting values for rhel 6 agents in /etc/sysconfig/pxp-agent and restart the pxp agent service these do not show up in the pid. We tried to set this for a proxy with no luck.\n{code:java}\ncat /etc/sysconfig/pxp-agent\n# You may specify parameters to the PXP Agent here\n#PXP_AGENT_OPTIONS=--loglevel=debug\nhttp_proxy=\"http://10.1.244.13:3128/\"\nhttps_proxy=\"http://10.1.244.13:3128/\"{code}\n{code:java}\ncat /proc/42359/environ | tr '\\0' '\\n'\nTERM=xterm\nPATH=/sbin:/usr/sbin:/bin:/usr/bin\nPWD=/\nLANG=en_US.UTF-8\nSHLVL=2\n_=/opt/puppetlabs/puppet/bin/pxp-agent\n{code}\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31589", "fixedVersions": [], "id": "31589", "issueType": "Bug", "key": "PCP-897", "labels": ["jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "5c2ff333c5484b691dd2c43a", "resolution": "Won't Fix", "resolutionDate": "2020-06-09T03:05:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "RHEL 6 Agent does not read value from /etc/sysconfig/pxp-agent", "timeSpent": "PT0S", "updated": "2020-06-09T03:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "attachments": [], "comments": [{"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "[PR 800|https://github.com/puppetlabs/pxp-agent/pull/800] opened to address this issue.", "created": "2020-04-22T15:58:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "PR 800 was closed in favor of targeting the 1.9.x branch for the updates.  [PR 801|https://github.com/puppetlabs/pxp-agent/pull/801] has been opened against 1.9.x.\n\nAdditional PR(s?) will need to be opened to update the tests for the other branches after the changes associated with PR 801 have been merged up.", "created": "2020-04-23T16:05:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "PR 801 was merged into the 1.9.x branch at [ae5d744|https://github.com/puppetlabs/pxp-agent/commit/ae5d744e8df8916e048a4e8592bb87a2fc501e63].  Merge up to the master branch pending before additional PRs can be added to cover tests that are added in the 1.10.x, 1.11.x, and master branches.", "created": "2020-05-06T10:31:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "Branches 1.10.x and 1.11.x were determined to be old and not needed.  They have been deleted.\n\n[PR 805|https://github.com/puppetlabs/pxp-agent/pull/805] was opened against the master branch to merge-up the acceptance changes for removing puppetserver management from the tests themselves.  PR 805 was merged into master at [8d4c2b3|https://github.com/puppetlabs/pxp-agent/commit/8d4c2b3c384e3bea9b1a1c1cb25bae557ee2533f].  Using this version, the puppetserver service is not managed or restarted by any of the tests in the test suite.\n\nThis ticket can be closed after a successful CI run of the master branch at [8d4c2b3|https://github.com/puppetlabs/pxp-agent/commit/8d4c2b3c384e3bea9b1a1c1cb25bae557ee2533f] or later.", "created": "2020-05-08T14:56:00.000000"}], "components": ["pxp-agent"], "created": "2020-04-22T11:35:00.000000", "creator": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "*Given* puppetserver artifacts required by the pxp-agent acceptance tests are extracted into fixture files.\n*When* I run the pxp-agent acceptance test suite\n*Then* the puppetserver is not restarted during any of the tests in the test stage"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@a60759a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o01hsg:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_844755231_*|*_1_*:*_1_*:*_1394446892_*|*_5_*:*_1_*:*_0"}], "description": "Several acceptance tests for pxp-agent create puppetserver configuration changes that require the puppetserver to be restarted (bolt task, script, download).  Each restart of puppetserver consumes about 20 seconds.  These server side configurations should be extracted into fixture artifacts that are configured on the puppetserver during the test suite setup stage.  Once these are extracted, no server restarts should be performed in the acceptance tests themselves.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31828", "fixedVersions": ["pxp-agent 1.15.4", "pxp-agent 1.9.13"], "id": "31828", "issueType": "Improvement", "key": "PCP-896", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "resolution": "Fixed", "resolutionDate": "2020-05-18T09:35:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Acceptance - move server configs to fixtures/setup", "timeSpent": "PT0S", "updated": "2020-07-02T03:55:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "attachments": [], "comments": [], "components": [], "created": "2020-02-12T14:40:00.000000", "creator": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@21ba6f08"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|i003v3:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_1037967667_*|*_1_*:*_1_*:*_4448_*|*_10007_*:*_1_*:*_1386807012_*|*_3_*:*_1_*:*_1200583214_*|*_5_*:*_1_*:*_0"}], "description": "Add a Boltdir and a plan and/or task capable of building a pxp-agent that can provide a workflow to installing the pxp-agent binary to an existing agent, thus not requiring a whole puppet-agent build each iteration.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31950", "fixedVersions": ["pxp-agent 1.15.3"], "id": "31950", "issueType": "Task", "key": "PCP-892", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "resolution": "Done", "resolutionDate": "2020-03-25T14:43:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "dev improvement: create a plan/task to build install pxp-agent on top of existing puppet-agent.", "timeSpent": "PT0S", "updated": "2020-04-28T07:02:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "attachments": [], "comments": [{"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "I think this is the related ticket from the puppet agent.  PA-437", "created": "2020-02-20T12:18:00.000000"}], "components": ["pxp-agent"], "created": "2020-02-07T11:27:00.000000", "creator": "5b590061a3f8512ca5eb3be7", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@13a7846e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "CS Priority", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Priority"}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk7db:630i08033042r209i"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The pxp-agent service scripts on the AIX, OSX, and Solaris platforms now manipulate the service using the wrapper script located in /opt/puppetlabs/bin/pxp-agent, which cleans up the linker environment prior to calling the actual binary. This prevent failures due to incompatible libraries being loaded.\n\nIf you want to modify pxp-agent's linker environment, then you must directly call the pxp-agent binary (/opt/puppetlabs/puppet/bin/pxp-agent)."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "37959,44392"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/Feb/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_189279841_*|*_1_*:*_1_*:*_1126123709_*|*_10007_*:*_1_*:*_361500730_*|*_3_*:*_1_*:*_237662490_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_343173702_*|*_10005_*:*_1_*:*_41122275259"}], "description": "The wrapper script at\u00a0/opt/puppetlabs/puppet/bin/wrapper.sh was created to work around issues like LD_LIBRARY_PATH causing Puppet services to load incompatible libraries.\u00a0 However, pxp-agent is hardcoded to use\u00a0/opt/puppetlabs/puppet/bin/pxp-agent and therefore is still susceptible to these issues.\n\nThis can be reproduced on AIX with any version of pxp-agent.\n\n\u00a0\n{code:java}\nLD_LIBRARY_PATH=/usr/lib /opt/puppetlabs/puppet/bin/pxp-agent --foreground --loglevel debug --log-pcp-access\nexec(): 0509-036 Cannot load program /opt/puppetlabs/puppet/bin/pxp-agent because of the following errors:\n        0509-150   Dependent module /usr/lib/libssl.a(libssl.so.1.1) could not be loaded.\n        0509-152   Member libssl.so.1.1 is not found in archive\n\n{code}\nThe pxp-service should use the wrapper script, which modifies LD_LIBRARY_PATH\n\n\u00a0\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31949", "fixedVersions": ["pxp-agent 1.15.14"], "id": "31949", "issueType": "Bug", "key": "PCP-890", "labels": ["doc-reviewed", "jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "5b590061a3f8512ca5eb3be7", "resolution": "Done", "resolutionDate": "2021-06-23T14:27:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent does not use the wrapper script", "timeSpent": "PT0S", "updated": "2021-12-14T09:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:b72c16a2-594d-45f8-90bc-c6bc6c9510a8", "attachments": [], "comments": [{"author": "624394a25f63fd0069b18cb8", "body": "I am working with my management internally on getting my proposed fix approved for release since they are iffy about intellectual property. As soon as I get the PR submitted, I'll post it here.", "created": "2020-02-03T16:20:00.000000"}, {"author": "624394a25f63fd0069b18cb8", "body": "My pull request is submitted here:\u00a0[https://github.com/puppetlabs/pxp-agent/pull/783].\n\n\u00a0\n\nThanks,\nBlake", "created": "2020-02-04T07:33:00.000000"}], "components": [], "created": "2020-02-03T15:45:00.000000", "creator": "624394a25f63fd0069b18cb8", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The pxp-agent init script will function correctly even with a duplicate process running (and kill the extra process(es))."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@504e76b7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyk9tj:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "pxp-agent init script no longer errors if there are multiple instances of the service running."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_595103622_*|*_1_*:*_1_*:*_56921599_*|*_10007_*:*_1_*:*_109070041_*|*_5_*:*_1_*:*_0"}], "description": "Hello all,\n\nI have found that with the current init script for the pxp-agent process on SLES boxes [here|[https://github.com/puppetlabs/pxp-agent/blob/master/ext/suse/pxp-agent.init]] has a syntax error if there is more than one pxp-agent process running at the time of use. Particularly, lines 99 and 179. This is because:\n\nFor bash tests, the syntax that is correct in this case is `[ x -eq y ]` which works when there is one process of pxp-agent running. If there is more than one pxp-agent process running, this turns the test in those two lines into `[ x -eq y z ]`, which is syntactically incorrect, and results in a syntax error at [. I have identified a fix and have tested it on several SLES boxes in my agent fleet, and will be submitting a PR to the pxp-agent GitHub project.\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32250", "fixedVersions": ["pxp-agent 1.15.2"], "id": "32250", "issueType": "Bug", "key": "PCP-889", "labels": ["resolved-issue-added"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "624394a25f63fd0069b18cb8", "resolution": "Fixed", "resolutionDate": "2020-02-12T11:10:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "SLES pxp-agent init script has syntax error if there is more than one pxp-agent process running", "timeSpent": "PT0S", "updated": "2020-02-18T10:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "attachments": [], "comments": [], "components": [], "created": "2019-10-09T10:58:00.000000", "creator": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3f58a9c2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzxja7:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_174967733_*|*_1_*:*_1_*:*_22152_*|*_10007_*:*_1_*:*_5703_*|*_3_*:*_1_*:*_13669907_*|*_5_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32142", "fixedVersions": ["pxp-agent 1.15.0"], "id": "32142", "issueType": "Bug", "key": "PCP-886", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Blocker", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "resolution": "Fixed", "resolutionDate": "2019-10-11T15:22:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent file downloads don't work if the destination is on another filesystem.", "timeSpent": "PT0S", "updated": "2019-10-11T15:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "attachments": [], "comments": [], "components": [], "created": "2019-09-18T11:54:00.000000", "creator": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "* The schema and operation of {{script}} {{run}} in pxp-agent expects an array of strings for \"arguments\"."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@c96db7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzx32f:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_104227753_*|*_1_*:*_1_*:*_9868_*|*_10007_*:*_1_*:*_73019969_*|*_3_*:*_1_*:*_5719713_*|*_5_*:*_1_*:*_0"}], "description": "Previously, the schema designed for the {{run}} action in the {{script}} pxp-agent module expected the arguments to the script as a string.\n\nHowever, the actual {{run_script}} command in bolt (which will originate the request to this module action in pxp) uses an array of strings for {{arguments}}\n\nWe need to change the schema in pxp-agent to expect an array of strings, and react appropriately.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31986", "fixedVersions": ["pxp-agent 1.12.5"], "id": "31986", "issueType": "Bug", "key": "PCP-885", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "resolution": "Fixed", "resolutionDate": "2019-09-20T14:43:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "PCP run_script action expects `arguments` to be a string, but in bolt run_script is an array", "timeSpent": "PT0S", "updated": "2019-09-20T17:36:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "attachments": [], "comments": [], "components": [], "created": "2019-09-11T14:49:00.000000", "creator": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "* the command module executes commands inside shell programs, rather than trying to find executables to execute directly."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@59c2b90b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzwyvz:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_184479210_*|*_1_*:*_1_*:*_10207_*|*_10007_*:*_1_*:*_71658535_*|*_3_*:*_1_*:*_345253603_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_87359459"}], "description": "When the [command module|https://github.com/puppetlabs/pxp-agent/blob/master/lib/src/modules/command.cc] in pxp-agent receives a request to run a command, currently it executes the command directly from leatherman's execute library.\n\nThis means pxp-agent will look for an executable of the command to execute. This does not match the behavior of bolt, where run_command executes inside a shell (meaning shell commands etc. are availabe.)\n\nWe need to update the command module so it matches the use of bolt, where commands to be executed are executed inside a shell.\n\nFor POSIX systems, we'll need to call a C function to identify the shell program to use: http://man7.org/linux/man-pages/man3/getpwent.3.html\n\nFor Windows, just assume cmd.exe.\n\nOnce the shell program has been identified, this work will mostly involve ensuring that when we actually create the [command|https://github.com/puppetlabs/pxp-agent/blob/master/lib/src/modules/command.cc#L47] to be executed we wrap that command in the shell.\n\nThis could mean that https://github.com/puppetlabs/pxp-agent/blob/master/lib/src/modules/command.cc#L40L43 is mostly unnecessary, since now the \"command\" we execute is the shell program, and it's arguments are where we enter the actual command to execute.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32061", "fixedVersions": ["pxp-agent 1.12.5"], "id": "32061", "issueType": "Bug", "key": "PCP-884", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "resolution": "Fixed", "resolutionDate": "2019-09-19T14:09:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "the command module should be executing commands in a shell", "timeSpent": "PT0S", "updated": "2019-09-20T17:36:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5ade3a9f91bc312e6a4a30f3", "attachments": [], "comments": [{"author": "5ade3a9f91bc312e6a4a30f3", "body": "raised: https://github.com/puppetlabs/pxp-agent/pull/772 \nCorresponding change to bolt: https://github.com/puppetlabs/bolt/pull/1206", "created": "2019-09-10T17:47:00.000000"}, {"author": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "body": "Merged to 1.9.x branch in\u00a0https://github.com/puppetlabs/pxp-agent/commit/d0b10a5efe32ed4df98e8aac5d6dca107e28e3b6", "created": "2019-09-11T13:51:00.000000"}], "components": [], "created": "2019-09-10T17:31:00.000000", "creator": "5ade3a9f91bc312e6a4a30f3", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@14857573"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzwy1z:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/Sep/19"}], "description": "When parsing xml in the {{Get-ContentAsJson}} implementation a regex used to filter out xml elements with whos {{MemberType}} {{Properties}} have a name that was preceded with {{__}} or contain the string {{type}}. Filtering on the string {{type}} causes task parameters that contain that string to be ignored, preventing users from being able to effectively pass powershell task parameters with the type in the name.\n\nNote: This code path is only hit when the target powershell interpreter is powershell 2 or earlier. ", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32249", "fixedVersions": [], "id": "32249", "issueType": "Improvement", "key": "PCP-883", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "5ade3a9f91bc312e6a4a30f3", "status": "Ready for CI", "statusCategory": "In Progress", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Powershell task parameters with `type` in the name incompatible with powershell v2", "timeSpent": "PT0S", "updated": "2019-09-11T13:51:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This seems to be fixed for puppet-agent 5.5.x at least: I was able to get pcp-broker installed in pxp-agent#1.9.x tests using:\n\n{noformat}\nbx rake ci:test:aio BEAKER_HOSTS=redhat7-64m-ubuntu1604-64a SHA=ea37b9526aaf9c746a03bb61f4bdbabeb74a982a SERVER_VERSION=5.3.10.SNAPSHOT.2019.08.27T2046  TESTS=tests\n{noformat}", "created": "2019-08-30T10:54:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Make sure to run puppet-agent pipelines from the top so that the correct {{PCP_BROKER_REF}} parameter is set during the beaker job. Matrix reloading a previously failed beaker job may reuse the old {{PCP_BROKER_REF=master}} value which doesn't work with older puppet-agent branches.", "created": "2019-08-30T11:49:00.000000"}, {"author": "5b9fcedc03b52466f05c4510", "body": "This is still broken with PCP_BROKER=1.5.3(as it is locked for 5.5.x/6.0.x/6.4.x agent)\n{code}\n rake ci:test:aio BEAKER_HOSTS=redhat7-64m-ubuntu1604-64a SHA=ea37b9526aaf9c746a03bb61f4bdbabeb74a982a SERVER_VERSION=5.3.10.SNAPSHOT.2019.08.27T2046  TESTS=tests PCP_BROKER_REF=1.5.3\n{code}\n\n{code}\nMinitest::Assertion: Shortly after startup, pcp-broker should report its state as being 'running'.\nExpected: \"running\"\n  Actual: nil\n/Users/gheorghe.popescu/.rvm/gems/ruby-2.5.5/gems/minitest-5.11.3/lib/minitest/assertions.rb:139\n/Users/gheorghe.popescu/.rvm/gems/ruby-2.5.5/gems/minitest-5.11.3/lib/minitest/assertions.rb:174\n{code}", "created": "2019-09-02T07:26:00.000000"}, {"author": "70121:b72c16a2-594d-45f8-90bc-c6bc6c9510a8", "body": "I think we finally got this sorted - are we OK to close now?", "created": "2019-09-04T11:51:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:557058:66e2b7b3-3544-4ef8-aceb-8e67e1315116]?", "created": "2019-09-04T12:05:00.000000"}, {"author": "557058:66e2b7b3-3544-4ef8-aceb-8e67e1315116", "body": "Yes, it looks like every branch has passed this in the last few days.", "created": "2019-09-04T12:22:00.000000"}], "components": [], "created": "2019-08-30T04:27:00.000000", "creator": "5abd613dd4cf3c56be24b70d", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform puppet-agent"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@41230e33"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzwql3:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "30/Aug/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_517653974_*|*_5_*:*_1_*:*_0"}], "description": "pcp-agent tests are failing on all Puppet Agent streams with the following error:\n{code}\nMinitest::Assertion: pcp-broker port 8142 not open within 2 minutes of starting the broker\n02:30:14 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-5.5.x/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32060", "fixedVersions": [], "id": "32060", "issueType": "CI Blocker", "key": "PCP-882", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Fixed", "resolutionDate": "2019-09-05T04:15:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "PCP-Agent tests are failing on all Agent streams", "timeSpent": "PT0S", "updated": "2019-09-05T04:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2019-08-09T03:42:00.000000", "creator": "557058:295d7a84-a09b-4348-8961-a1e1764c190e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4648d023"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzwb47:"}], "description": "This was spotted on {{win-2019-ja-x86_64}} when the Japanese localisation test was first moved there.\n\n/cc: [~accountid:5abd613dd4cf3c56be24b70d] for information on other platform failures.\n\nThe acceptance test {{run_ps1}} is failing with the following error \n{noformat}\n00:23:34.134 Minitest::Assertion: Agent atgt3z4gipt9qbf.delivery.puppetlabs.net with PCP identity pcp://atgt3z4gipt9qbf.delivery.puppetlabs.net/agent should be associated with pcp-broker\n{noformat}\n\nFailure location is: https://github.com/jcoconnor/pxp-agent/blob/master/acceptance/tests/tasks/run_ps1.rb#L16-L17\n\nTest Job: {{RMM_COMPONENT_TO_TEST_NAME=pxp_agent,beaker,TEST_TARGET=windows2019_ja-64}}\n\nBuild Log: {{https://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/Acceptance%20Suites/view/CI%20Goalie/job/platform_puppet-agent_puppet-agent-integration-suite_daily-6.0.x/313/RMM_COMPONENT_TO_TEST_NAME=pxp_agent,SLAVE_LABEL=beaker,TEST_TARGET=windows2019_ja-64/consoleFull}}\n\n{noformat}\n00:33:07.825 D, [2019-08-08T18:32:15.886042 #29226] DEBUG -- : [:connect, :scheduling]\n00:33:07.825 D, [2019-08-08T18:32:15.886376 #29226] DEBUG -- : [:connect, \"wss://q14ecrhlrq8sfr2.delivery.puppetlabs.net:8142/pcp/ruby-pcp-client-29226\"]\n00:33:07.825 D, [2019-08-08T18:32:15.909408 #29226] DEBUG -- : [:ssl_verify_peer]\n00:33:07.825 D, [2019-08-08T18:32:15.911374 #29226] DEBUG -- : [:ssl_verify_peer, :success]\n00:33:07.825 D, [2019-08-08T18:32:15.911531 #29226] DEBUG -- : [:ssl_verify_peer]\n00:33:07.826 D, [2019-08-08T18:32:15.912866 #29226] DEBUG -- : [:ssl_verify_peer, :success]\n00:33:08.874 D, [2019-08-08T18:32:15.912989 #29226] DEBUG -- : [:ssl_verify_peer]\n00:33:08.874 D, [2019-08-08T18:32:15.914468 #29226] DEBUG -- : [:ssl_verify_peer, :success]\n00:33:08.874 I, [2019-08-08T18:32:15.958363 #29226]  INFO -- : [:open]\n00:33:08.874 D, [2019-08-08T18:32:15.958570 #29226] DEBUG -- : [:send, #<PCP::Message:0x00000004066338 @chunks=[\"\", \"\"], @envelope={:id=>\"c0ec7cbc-14c5-4022-b716-88e77ca7e3e7\", :message_type=>\"http://puppetlabs.com/associate_request\", :sender=>\"pcp://mesos-jenkins-0a49c81b7e18499087e45ab57ee11842-workerbeaker/ruby-pcp-client-29226\", :targets=>[\"pcp:///server\"], :expires=>\"2019-08-08T18:32:18Z\"}>]\n00:33:08.875 D, [2019-08-08T18:32:15.964350 #29226] DEBUG -- : [:message, :decoded, #<PCP::Message:0x0000000405bc30 @chunks=[\"{\\\"id\\\":\\\"c0ec7cbc-14c5-4022-b716-88e77ca7e3e7\\\",\\\"success\\\":true}\", \"\"], @envelope={:id=>\"e941d291-d13b-423f-846e-b1d155360900\", :message_type=>\"http://puppetlabs.com/associate_response\", :sender=>\"pcp:///server\", :targets=>[\"pcp://mesos-jenkins-0a49c81b7e18499087e45ab57ee11842-workerbeaker/ruby-pcp-client-29226\"], :expires=>\"1970-01-01T00:00:00.000Z\"}>]\n00:33:08.876 D, [2019-08-08T18:32:15.964928 #29226] DEBUG -- : [:send, #<PCP::Message:0x00000004059cf0 @chunks=[\"{\\\"query\\\":[\\\"pcp://atgt3z4gipt9qbf.delivery.puppetlabs.net/agent\\\"]}\", \"\"], @envelope={:id=>\"6024f2f1-a536-406e-862a-55a5e710fa93\", :message_type=>\"http://puppetlabs.com/inventory_request\", :targets=>[\"pcp:///server\"], :expires=>\"2019-08-08T18:32:25Z\"}>]\n00:33:08.876 D, [2019-08-08T18:32:15.972230 #29226] DEBUG -- : [:message, :decoded, #<PCP::Message:0x0000000404d220 @chunks=[\"{\\\"uris\\\":[]}\", \"\"], @envelope={:id=>\"3b30251e-52dd-4001-8aa3-d2636c0cf625\", :message_type=>\"http://puppetlabs.com/inventory_response\", :\"in-reply-to\"=>\"6024f2f1-a536-406e-862a-55a5e710fa93\", :targets=>[\"pcp://mesos-jenkins-0a49c81b7e18499087e45ab57ee11842-workerbeaker/ruby-pcp-client-29226\"], :sender=>\"pcp:///server\", :expires=>\"1970-01-01T00:00:00.000Z\"}>]\n00:33:08.877 D, [2019-08-08T18:32:15.972608 #29226] DEBUG -- : [:close]\n00:33:08.877 I, [2019-08-08T18:32:15.973363 #29226]  INFO -- : [:close, 1000, \"\"]\n00:33:08.878 Minitest::Assertion: Agent atgt3z4gipt9qbf.delivery.puppetlabs.net with PCP identity pcp://atgt3z4gipt9qbf.delivery.puppetlabs.net/agent should be associated with pcp-broker\n00:33:08.881 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-6.0.x/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/windows2019_ja-64/acceptance/.bundle/gems/ruby/2.4.0/gems/minitest-5.11.3/lib/minitest/assertions.rb:139\n00:33:08.882 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-6.0.x/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/windows2019_ja-64/acceptance/tests/tasks/run_ps1.rb:17\n00:33:08.882 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-6.0.x/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/windows2019_ja-64/acceptance/tests/tasks/run_ps1.rb:12\n00:33:08.883 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-6.0.x/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/windows2019_ja-64/acceptance/tests/tasks/run_ps1.rb:12\n00:33:08.883 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-6.0.x/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/windows2019_ja-64/acceptance/.bundle/gems/ruby/2.4.0/gems/beaker-4.11.0/lib/beaker/dsl/structure.rb:44\n00:33:08.884 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-6.0.x/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/windows2019_ja-64/acceptance/.bundle/gems/ruby/2.4.0/gems/beaker-4.11.0/lib/beaker/logger.rb:239\n00:33:08.885 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-6.0.x/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/windows2019_ja-64/acceptance/.bundle/gems/ruby/2.4.0/gems/beaker-4.11.0/lib/beaker/dsl/structure.rb:43\n00:33:08.886 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-6.0.x/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/windows2019_ja-64/acceptance/tests/tasks/run_ps1.rb:11\n00:33:08.886 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-6.0.x/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/windows2019_ja-64/acceptance/.bundle/gems/ruby/2.4.0/gems/beaker-4.11.0/lib/beaker/dsl/structure.rb:124\n00:33:08.887 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-6.0.x/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/windows2019_ja-64/acceptance/.bundle/gems/ruby/2.4.0/gems/beaker-4.11.0/lib/beaker/logger.rb:239\n00:33:08.888 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-6.0.x/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/windows2019_ja-64/acceptance/.bundle/gems/ruby/2.4.0/gems/beaker-4.11.0/lib/beaker/dsl/structure.rb:123\n00:33:08.888 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-6.0.x/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/windows2019_ja-64/acceptance/tests/tasks/run_ps1.rb:4\n00:33:08.889 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-6.0.x/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/windows2019_ja-64/acceptance/.bundle/gems/ruby/2.4.0/gems/beaker-4.11.0/lib/beaker/test_case.rb:133\n00:33:08.889 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-6.0.x/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/windows2019_ja-64/acceptance/.bundle/gems/ruby/2.4.0/gems/beaker-4.11.0/lib/beaker/test_case.rb:133\n00:33:08.890 /usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/benchmark.rb:308\n00:33:08.891 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-6.0.x/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/windows2019_ja-64/acceptance/.bundle/gems/ruby/2.4.0/gems/beaker-4.11.0/lib/beaker/test_case.rb:130\n00:33:08.892 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-6.0.x/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/windows2019_ja-64/acceptance/.bundle/gems/ruby/2.4.0/gems/beaker-4.11.0/lib/beaker/test_suite.rb:66\n00:33:08.892 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-6.0.x/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/windows2019_ja-64/acceptance/.bundle/gems/ruby/2.4.0/gems/beaker-4.11.0/lib/beaker/test_suite.rb:63\n00:33:08.893 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-6.0.x/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/windows2019_ja-64/acceptance/.bundle/gems/ruby/2.4.0/gems/beaker-4.11.0/lib/beaker/test_suite.rb:63\n00:33:08.894 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-6.0.x/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/windows2019_ja-64/acceptance/.bundle/gems/ruby/2.4.0/gems/beaker-4.11.0/lib/beaker/test_suite.rb:115\n00:33:08.895 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-6.0.x/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/windows2019_ja-64/acceptance/.bundle/gems/ruby/2.4.0/gems/beaker-4.11.0/lib/beaker/cli.rb:192\n00:33:08.896 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-6.0.x/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/windows2019_ja-64/acceptance/.bundle/gems/ruby/2.4.0/gems/beaker-4.11.0/lib/beaker/cli.rb:118\n00:33:08.896 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-6.0.x/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/windows2019_ja-64/acceptance/.bundle/gems/ruby/2.4.0/gems/beaker-4.11.0/lib/beaker/subcommand.rb:199\n00:33:08.897 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-6.0.x/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/windows2019_ja-64/acceptance/.bundle/gems/ruby/2.4.0/gems/thor-0.20.3/lib/thor/command.rb:27\n00:33:08.897 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-6.0.x/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/windows2019_ja-64/acceptance/.bundle/gems/ruby/2.4.0/gems/thor-0.20.3/lib/thor/invocation.rb:126\n00:33:08.898 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-6.0.x/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/windows2019_ja-64/acceptance/.bundle/gems/ruby/2.4.0/gems/thor-0.20.3/lib/thor.rb:387\n00:33:08.899 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-6.0.x/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/windows2019_ja-64/acceptance/.bundle/gems/ruby/2.4.0/gems/thor-0.20.3/lib/thor/base.rb:466\n00:33:08.899 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-6.0.x/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/windows2019_ja-64/acceptance/.bundle/gems/ruby/2.4.0/gems/beaker-4.11.0/bin/beaker:7\n00:33:08.900 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-6.0.x/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/windows2019_ja-64/acceptance/.bundle/gems/ruby/2.4.0/bin/beaker:23\n00:33:08.900 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-6.0.x/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/windows2019_ja-64/acceptance/.bundle/gems/ruby/2.4.0/bin/beaker:23\n00:33:08.901 Begin teardown\n00:33:08.901 End teardown\n00:33:08.901 tests/tasks/run_ps1.rb failed in 76.19 seconds\n00:33:08.901       Test Suite: tests @ 2019-08-08 18:31:00 +0000\n{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32059", "fixedVersions": [], "id": "32059", "issueType": "Bug", "key": "PCP-881", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:295d7a84-a09b-4348-8961-a1e1764c190e", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent acceptance test failure - on Win-2019-ja", "timeSpent": "PT0S", "updated": "2019-09-16T04:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "body": "I'm going to close this for now. This test should not have run in the 6.0.x branch (it only exists on later branches of PXP).", "created": "2019-08-09T15:08:00.000000"}], "components": [], "created": "2019-08-08T14:43:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@718e9e68"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzwaef:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Aug/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_87942763_*|*_6_*:*_1_*:*_0"}], "description": "The {{run_ps1.rb}} beaker test has been failing for a few days. \n\nMost recent failure is https://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/Acceptance%20Suites/view/CI%20Goalie/job/platform_puppet-agent_puppet-agent-integration-suite_daily-6.0.x/313/\n\nLast successful run on that platform was https://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/Acceptance%20Suites/view/CI%20Goalie/job/platform_puppet-agent_puppet-agent-integration-suite_daily-6.0.x/309/RMM_COMPONENT_TO_TEST_NAME=puppet,SLAVE_LABEL=beaker,TEST_TARGET=windows2019-64a/\n\nOne strange thing, the {{expires}} field is sometimes the current time {{2019-08-08T15:46:45Z}} and sometimes the start of the epoch {{1970-01-01T00:00:00.000Z}}. Maybe a red herring?\n\n{noformat}\n[\\\"pcp://amaqpjekhesj298.delivery.puppetlabs.net/agent\\\"]}\", \"\"], @envelope={:id=>\"f1bbc104-afca-412e-87aa-d4629228e790\", :message_type=>\"http://puppetlabs.com/inventory_request\", :targets=>[\"pcp:///server\"], :expires=>\"2019-08-08T15:46:45Z\"}>]\n08:46:36 D, [2019-08-08T15:46:35.866427 #32584] DEBUG -- : [:message, :decoded, #<PCP::Message:0x0000000211c978 @chunks=[\"{\\\"uris\\\":[]}\", \"\"], @envelope={:id=>\"a51e8867-eb8a-46c2-a2c4-3b2655188fc0\", :message_type=>\"http://puppetlabs.com/inventory_response\", :\"in-reply-to\"=>\"f1bbc104-afca-412e-87aa-d4629228e790\", :targets=>[\"pcp://mesos-jenkins-ba60fc6133614df5a5250af418562309-workerbeaker/ruby-pcp-client-32584\"], :sender=>\"pcp:///server\", :expires=>\"1970-01-01T00:00:00.000Z\"}>]\n08:46:36 D, [2019-08-08T15:46:35.866855 #32584] DEBUG -- : [:close]\n08:46:36 I, [2019-08-08T15:46:35.867662 #32584]  INFO -- : [:close, 1000, \"\"]\n08:46:36 Minitest::Assertion: Agent amaqpjekhesj298.delivery.puppetlabs.net with PCP identity pcp://amaqpjekhesj298.delivery.puppetlabs.net/agent should be associated with pcp-broker\n08:46:36 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-\n{noformat}\n\nI checked out a VM from the pool and the date and time look correct:\n\n{noformat}\n$ cmd\nMicrosoft Windows [Version 10.0.17763.557]\n(c) 2018 Microsoft Corporation. All rights reserved.\n\nC:\\cygwin64\\home\\Administrator>chcp 437\nchcp 437\nActive code page: 437\n\nC:\\cygwin64\\home\\Administrator>date\ndate\nThe current date is: 2019/08/08\nEnter the new date: (yy-mm-dd)\n\n\nC:\\cygwin64\\home\\Administrator>time\ntime\nThe current time is: 20:42:11.72\nEnter the new time:\n{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31624", "fixedVersions": [], "id": "31624", "issueType": "Bug", "key": "PCP-880", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2019-08-09T15:08:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "run_ps1.rb beaker test fails on Japanese Windows 2019", "timeSpent": "PT0S", "updated": "2019-08-09T15:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2019-07-19T15:09:00.000000", "creator": "5e3375e183d74c0e821851f3", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@11052563"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "CS Priority", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Customer Feedback"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzvtw7:"}], "description": "Some tasks over PCP on Windows will throw an \"Error: Task finished with exit-code 127\". This is reproducible when using a `.py` task, but it is likely an issue with other tasks. The same task works over PCP on Linux and not on Windows.\n{code}2019-07-15 18:41:56.591943 DEBUG puppetlabs.pxp_agent.request_processor:251 - The non blocking 'task run' request (transaction 12), request ID d3cc326a-9d3b-4a41-9236-1e1a4ea33cb5 by pcp://pe-201910-master.puppetdebug.vlan:8143/server, has been successfully processed\n2019-07-15 18:41:56.591943 DEBUG leatherman.execution:93 - executing command: C:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\task_wrapper.exe\n2019-07-15 18:41:56.591943 DEBUG leatherman.execution:470 - child environment PT__task=test::testing\n2019-07-15 18:41:56.607557 DEBUG leatherman.execution:690 - process exited with exit code 127.\n{code}\nh3. Reproduction\n # Install Python on Windows and configure it to associate the '.py' extension with Python and ensure python is in the path.\n # Create a simple python task\n # Run the task on the windows node over PCP\n\nThis should fail with the {{\"Error: Task finished with exit-code 127\"}}, even though it works over WinRM.\nh3. Expected Behavior\n\nPython and other interpreters should have a consistent experience through WinRM and PCP\nh3. Additional information\n\nA simple reproduction with the `task_wrapper.exe` can be used to eliminate bolt and highlight the issue.\n\nTo run this without specifying {{python taskname.py}} add '.py' to the PATHEXT and the python executable path to the PATH variable. We can run it without specifying the interpreter like below.\n{code}PS C:\\> C:\\test.py\nHello, world!\nPS C:\\> $LASTEXITCODE\n0\n{code}\nThen we can use the task_wrapper.exe to run our simple python script and reproduce the 127 exit code.\n{code}PS C:\\> Get-Content C:\\input.txt\n{\n\"executable\": \"c:/test.py\",\n\"input\": \"\",\n\"arguments\": [],\n\"stdout\": \"c:/temp/output\",\n\"stderr\": \"c:/temp/error\",\n\"exitcode\": \"c:/temp/exit\"\n}\nPS C:\\> Get-Content C:\\input.txt | & 'C:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\task_wrapper.exe'\nPS C:\\> $LASTEXITCODE\n127\n{code}", "environment": "Bolt with Windows 2012r2 and python tasks", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31827", "fixedVersions": [], "id": "31827", "issueType": "Bug", "key": "PCP-879", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "5e3375e183d74c0e821851f3", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Python tasks on windows over PCP return a 127 exit code", "timeSpent": "PT0S", "updated": "2019-11-07T15:57:00.000000", "votes": "2", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2019-07-12T17:16:00.000000", "creator": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "* when pxp-agent receives a {{run_facter}} request, the facts returned from the request include custom facts from the pluginsync directories."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@df5350f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hykbgf:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_379537_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_12531689692"}], "description": "During run_facter requests in pxp-agent: Facter will need to load the directory where [plugins|https://puppet.com/docs/puppet/6.6/plugins_in_modules.html] have been downloaded, since the plugin dir will have custom facts in it which plans will need loaded in the facter output. Facter docs describe the various ways we can [inject the pluginsync dir|https://puppet.com/docs/facter/3.9/custom_facts.html#loading-custom-facts] when running facter (facter will not load the pluginsync dir by default)\n\nTo avoid confusion: pxp-agent likely won't be able to emulate what puppet does to [load the pluginsync dir|https://github.com/puppetlabs/puppet/blob/master/lib/puppet/indirector/facts/facter.rb#L79L84] since puppet is using facter's ruby bindings by the time it's adding the directory. Since pxp-agent will be calling the executable and not loading bindings we will need to use documented command line interfaces to add the pluginsync dir. The [pluginsync docs|https://puppet.com/docs/puppet/5.3/plugins_in_modules.html#technical-details-of-pluginsync] list the locations of the pluginsync dirs.\n\n*in scope*\nAny work required to get facter to load custom facts from the pluginsync dir.\n\n*out of scope*\nActually performing pluginsync from the PE master. Just assume the plugins in the pluginsync directory are correct.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32058", "fixedVersions": [], "id": "32058", "issueType": "Task", "key": "PCP-878", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "resolution": "Won't Do", "resolutionDate": "2019-12-04T17:23:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Make pxp-agent run_facter aware of the pluginsync directories.", "timeSpent": "PT0S", "updated": "2019-12-04T17:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2019-06-20T14:47:00.000000", "creator": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "* Up-to-date tools for building pxp-agent and its' components."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5d91ab20"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzv9z3:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_1723631091_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_21855998046_*|*_10005_*:*_1_*:*_286938"}], "description": "We need to improve the tools to build pxp-agent and its' corresponding c++ components. \n\nWith the bolt, docker and vagrant there are ample opportunities to create tasks/plans/environments to build out C++ projects without requiring the developer to manually perform all the steps required to get installations correctly staged so that pxp-agent can ultimately build.\n\nWe should investigate ways we can create tooling to help a developer set up a dev environment quickly and easily without manually performing all the steps required to get a build running.\n\nIdeas we've thrown around so far:\n\n* Vagrant/Docker environments set up with build-tools and dependencies. These environments might have to build the dependencies during setup, but that still removes manual part.\n* Bolt plans/tasks for installing tools / building dependencies. These plans/tasks could even be used in the vagrant/docker environments.\n\nWith the current ideas in mind we should come up with a path forward on how to improve. Outcomes of this spike should be tickets for work to create specific tools/scripts/tasks/plans to make development setup faster/easier/less manual.\n\n*In scope*\n New tickets for creating build tooling for pxp-agent and any of its' components (leatherman, cpp-pcp-client, cpp-hocon).\n\n*Out of scope* \nany tooling for anything unrelated to pxp-agent", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31623", "fixedVersions": [], "id": "31623", "issueType": "Task", "key": "PCP-876", "labels": ["skeletor-ci-maintenance"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "resolution": "Won't Do", "resolutionDate": "2020-03-19T12:46:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "(Spike) Better tooling for building/testing pxp-agent", "timeSpent": "PT0S", "updated": "2020-03-19T12:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "attachments": [], "comments": [], "components": [], "created": "2019-06-14T14:02:00.000000", "creator": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "* download_file can download an entire directory instead of just one file."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@43e3dd64"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hykgo7:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_359639341_*|*_1_*:*_1_*:*_30348_*|*_10007_*:*_1_*:*_428856832_*|*_3_*:*_1_*:*_1020668506_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1396043343_*|*_10005_*:*_1_*:*_1637346468"}], "description": "The original implementation of download_file in pxp-agent _will not_ include support for downloading an entire directory recursively. We should implement recursive directory downloads through the PCP transport to PXP-agent.\n\nThis work will require an update to the schema of download file, such that it can handle an array of files and directories to create/download. The module in PXP _does *not* need to be responsible_ for detecting what files/dirs are in the directory to download (that work will be done with ORCH and puppetserver). The PXP module should assume it will receive the entire structure of the directory to download as an array of files and directories.\n\nWe will _not_ implement any file permissions parameters with download_file: assume that the files should be created with default permissions.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32283", "fixedVersions": ["pxp-agent 1.12.3", "pxp-agent 1.12.z"], "id": "32283", "issueType": "Task", "key": "PCP-874", "labels": ["download_file"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "resolution": "Done", "resolutionDate": "2019-08-09T15:11:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Update download_file to work with recursive directories in PXP", "timeSpent": "PT0S", "updated": "2019-08-28T19:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5aa6cd9bfe2b4b24ab21c2f7", "attachments": [{"attacher": "5aa6cd9bfe2b4b24ab21c2f7", "created": "2019-06-03T09:18:00.000000", "name": "pxp-agent.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12318"}, {"attacher": "5aa6cd9bfe2b4b24ab21c2f7", "created": "2019-06-03T09:18:00.000000", "name": "pxp-agent.log.ebadfc2d-9a5a-4535-be4e-b3ffc1c40f00", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12327"}], "comments": [{"author": "5abd613dd4cf3c56be24b70d", "body": "looks like there is a similar issue on 5.5.x: https://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/Acceptance%20Suites/view/CI%20Goalie/job/platform_puppet-agent_puppet-agent-integration-suite_daily-5.5.x/422/RMM_COMPONENT_TO_TEST_NAME=pxp_agent,SLAVE_LABEL=beaker,TEST_TARGET=ubuntu1604-POWERa/console", "created": "2019-05-31T07:50:00.000000"}, {"author": "5abd613dd4cf3c56be24b70d", "body": "same for 1.10.x: https://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/Acceptance%20Suites/view/CI%20Goalie/job/platform_puppet-agent_puppet-agent-integration-suite_daily-1.10.x/184/RMM_COMPONENT_TO_TEST_NAME=pxp_agent,SLAVE_LABEL=beaker,TEST_TARGET=ubuntu1604-POWERa/console", "created": "2019-05-31T07:50:00.000000"}, {"author": "5abd613dd4cf3c56be24b70d", "body": "[~accountid:5aa6cd9bfe2b4b24ab21c2f7] I'm not aware of any changes to any nspooler images.", "created": "2019-06-01T08:16:00.000000"}, {"author": "5aa6cd9bfe2b4b24ab21c2f7", "body": "If you could continue investigating this during your upcoming work day, that\u2019s appreciated. This is a strange problem. Thanks. \n\nSent from miXs\n\n", "created": "2019-06-02T12:20:00.000000"}, {"author": "5abd613dd4cf3c56be24b70d", "body": "seems like the test is failing because pxp-agent fails to start on the box: \n{code}\n    power8-ubuntu1604-10.ops.puppetlabs.net (power8-ubuntu1604-10.ops.puppetlabs.net) 10:07:05$ puppet resource service pxp-agent ensure=running\n      Notice: /Service[pxp-agent]/ensure: ensure changed 'stopped' to 'running'\n      service { 'pxp-agent':\n        ensure => 'stopped',\n      }\n\n{code}\n\nThe following output is from a build that was passing: \n{code}\n    power8-ubuntu1604-7.ops.puppetlabs.net (power8-ubuntu1604-7.ops.puppetlabs.net) 14:43:04$ puppet resource service pxp-agent ensure=running\n      Notice: /Service[pxp-agent]/ensure: ensure changed 'stopped' to 'running'\n      service { 'pxp-agent':\n        ensure => 'running',\n      }\n{code}", "created": "2019-06-03T03:44:00.000000"}, {"author": "5aa6cd9bfe2b4b24ab21c2f7", "body": "It appears that the agent cannot find the cert file", "created": "2019-06-03T09:14:00.000000"}, {"author": "557058:75cf0874-3831-4bb6-a7ff-b655ecaa1a81", "body": "I've disabled beaker tests for ubuntu on power for now, since it's been so long since we've had a passing run:\u00a0[https://github.com/puppetlabs/ci-job-configs/pull/5940]\n\n*This change should be reverted after this ticket is resolved.*", "created": "2019-06-03T10:35:00.000000"}, {"author": "5aa6cd9bfe2b4b24ab21c2f7", "body": "The above is caused by mismatches as shown:\n\n\u00a0\n\nroot@power8-ubuntu-1604-9:~# grep power8 /etc/host*\n/etc/hostname:power8-ubuntu-1604-9\n/etc/hosts:127.0.1.1 power8-ubuntu1604-9\n/etc/hosts:10.0.22.31 power8-ubuntu1604-9.ops.puppetlabs.net power8-ubuntu1604-9\n\nOne has a dash, the other doesn't.", "created": "2019-06-03T14:27:00.000000"}, {"author": "5aa6cd9bfe2b4b24ab21c2f7", "body": "Images are being updated to not have a /etc/hostname and /etc/hosts mismatch. After those are live, tests will be rerun to confirm this solution.", "created": "2019-06-04T13:17:00.000000"}, {"author": "5aa6cd9bfe2b4b24ab21c2f7", "body": "Tests now pass: https://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/Acceptance%20Suites/view/CI%20Goalie/job/platform_puppet-agent_puppet-agent-integration-suite_daily-5.5.x/430/", "created": "2019-06-04T13:46:00.000000"}], "components": [], "created": "2019-05-31T07:47:00.000000", "creator": "5abd613dd4cf3c56be24b70d", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform pxp-agent"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@21a4683b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hykg4v:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "31/May/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_79145561_*|*_1_*:*_1_*:*_12331228_*|*_3_*:*_1_*:*_353323102_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1978292"}], "description": "There is one pxp-agent test that is failing for Ubunu1604-POWER8 on master.\n{code}\n06:41:36 D, [2019-05-31T13:41:35.733387 #69481] DEBUG -- : [:send, #<PCP::Message:0x00000002eb5b48 @chunks=[\"{\\\"query\\\":[\\\"pcp://power8-ubuntu1604-10.ops.puppetlabs.net/agent\\\"]}\", \"\"], @envelope={:id=>\"d1e49b6e-bb3f-4a1f-b190-4d74f16036d5\", :message_type=>\"http://puppetlabs.com/inventory_request\", :targets=>[\"pcp:///server\"], :expires=>\"2019-05-31T13:41:45Z\"}>]\n06:41:36 D, [2019-05-31T13:41:35.737507 #69481] DEBUG -- : [:message, :decoded, #<PCP::Message:0x00000002eb01e8 @chunks=[\"{\\\"uris\\\":[]}\", \"\"], @envelope={:id=>\"ba024041-f69a-400c-9206-dac5ca8d177e\", :message_type=>\"http://puppetlabs.com/inventory_response\", :\"in-reply-to\"=>\"d1e49b6e-bb3f-4a1f-b190-4d74f16036d5\", :targets=>[\"pcp://mesos-jenkins-2a2ca694cfc34ed79e514bee46d463cc-workerbeaker/ruby-pcp-client-69481\"], :sender=>\"pcp:///server\", :expires=>\"1970-01-01T00:00:00.000Z\"}>]\n06:41:36 D, [2019-05-31T13:41:35.737810 #69481] DEBUG -- : [:close]\n06:41:36 I, [2019-05-31T13:41:35.738493 #69481]  INFO -- : [:close, 1000, \"\"]\n06:41:36 Minitest::Assertion: Agent power8-ubuntu1604-10.ops.puppetlabs.net with PCP identity pcp://power8-ubuntu1604-10.ops.puppetlabs.net/agent should be associated with pcp-broker\n06:41:36 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1604-POWERa/acceptance/.bundle/gems/ruby/2.4.0/gems/minitest-5.11.3/lib/minitest/assertions.rb:139\n06:41:36 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1604-POWERa/acceptance/tests/tasks/task_download.rb:19\n06:41:36 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1604-POWERa/acceptance/tests/tasks/task_download.rb:14\n06:41:36 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1604-POWERa/acceptance/tests/tasks/task_download.rb:14\n06:41:36 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1604-POWERa/acceptance/.bundle/gems/ruby/2.4.0/gems/beaker-4.7.0/lib/beaker/dsl/structure.rb:44\n06:41:36 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1604-POWERa/acceptance/.bundle/gems/ruby/2.4.0/gems/beaker-4.7.0/lib/beaker/logger.rb:239\n06:41:36 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1604-POWERa/acceptance/.bundle/gems/ruby/2.4.0/gems/beaker-4.7.0/lib/beaker/dsl/structure.rb:43\n06:41:36 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1604-POWERa/acceptance/tests/tasks/task_download.rb:13\n06:41:36 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1604-POWERa/acceptance/.bundle/gems/ruby/2.4.0/gems/beaker-4.7.0/lib/beaker/dsl/structure.rb:124\n06:41:36 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1604-POWERa/acceptance/.bundle/gems/ruby/2.4.0/gems/beaker-4.7.0/lib/beaker/logger.rb:239\n06:41:36 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1604-POWERa/acceptance/.bundle/gems/ruby/2.4.0/gems/beaker-4.7.0/lib/beaker/dsl/structure.rb:123\n06:41:36 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1604-POWERa/acceptance/tests/tasks/task_download.rb:5\n06:41:36 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1604-POWERa/acceptance/.bundle/gems/ruby/2.4.0/gems/beaker-4.7.0/lib/beaker/test_case.rb:133\n06:41:36 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1604-POWERa/acceptance/.bundle/gems/ruby/2.4.0/gems/beaker-4.7.0/lib/beaker/test_case.rb:133\n06:41:36 /usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/benchmark.rb:308\n06:41:36 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1604-POWERa/acceptance/.bundle/gems/ruby/2.4.0/gems/beaker-4.7.0/lib/beaker/test_case.rb:130\n06:41:36 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1604-POWERa/acceptance/.bundle/gems/ruby/2.4.0/gems/beaker-4.7.0/lib/beaker/test_suite.rb:66\n06:41:36 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1604-POWERa/acceptance/.bundle/gems/ruby/2.4.0/gems/beaker-4.7.0/lib/beaker/test_suite.rb:63\n06:41:36 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1604-POWERa/acceptance/.bundle/gems/ruby/2.4.0/gems/beaker-4.7.0/lib/beaker/test_suite.rb:63\n06:41:36 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1604-POWERa/acceptance/.bundle/gems/ruby/2.4.0/gems/beaker-4.7.0/lib/beaker/test_suite.rb:115\n06:41:36 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1604-POWERa/acceptance/.bundle/gems/ruby/2.4.0/gems/beaker-4.7.0/lib/beaker/cli.rb:192\n06:41:36 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1604-POWERa/acceptance/.bundle/gems/ruby/2.4.0/gems/beaker-4.7.0/lib/beaker/cli.rb:118\n06:41:36 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1604-POWERa/acceptance/.bundle/gems/ruby/2.4.0/gems/beaker-4.7.0/lib/beaker/subcommand.rb:199\n06:41:36 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1604-POWERa/acceptance/.bundle/gems/ruby/2.4.0/gems/thor-0.20.3/lib/thor/command.rb:27\n06:41:36 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1604-POWERa/acceptance/.bundle/gems/ruby/2.4.0/gems/thor-0.20.3/lib/thor/invocation.rb:126\n06:41:36 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1604-POWERa/acceptance/.bundle/gems/ruby/2.4.0/gems/thor-0.20.3/lib/thor.rb:387\n06:41:36 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1604-POWERa/acceptance/.bundle/gems/ruby/2.4.0/gems/thor-0.20.3/lib/thor/base.rb:466\n06:41:36 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1604-POWERa/acceptance/.bundle/gems/ruby/2.4.0/gems/beaker-4.7.0/bin/beaker:7\n06:41:36 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1604-POWERa/acceptance/.bundle/gems/ruby/2.4.0/bin/beaker:23\n06:41:36 /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/RMM_COMPONENT_TO_TEST_NAME/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1604-POWERa/acceptance/.bundle/gems/ruby/2.4.0/bin/beaker:23\n06:41:36 Begin teardown\n06:41:36 End teardown\n06:41:36 tests/tasks/task_download.rb failed in 70.48 seconds\n{code}\n\nI've briefly looked at the change and could not pinpoint the issue.\n\nLink to the failing build: https://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/Acceptance%20Suites/view/CI%20Goalie/job/platform_puppet-agent_puppet-agent-integration-suite_daily-master/RMM_COMPONENT_TO_TEST_NAME=pxp_agent,SLAVE_LABEL=beaker,TEST_TARGET=ubuntu1604-POWERa/588/console\n\nThis does not seem to be an intermediate failure.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32248", "fixedVersions": ["Not needed"], "id": "32248", "issueType": "CI Blocker", "key": "PCP-873", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Done", "resolutionDate": "2019-06-05T11:53:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "PXP-Agent tests fail on ubuntu1604-POWER8", "timeSpent": "PT0S", "updated": "2019-06-05T11:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "attachments": [], "comments": [], "components": [], "created": "2019-05-22T12:24:00.000000", "creator": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@72329e7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzuqkf:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_362597421_*|*_1_*:*_1_*:*_9212_*|*_10007_*:*_1_*:*_72075080_*|*_3_*:*_3_*:*_701211888_*|*_5_*:*_1_*:*_2399308880_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_39572"}], "description": "Currently, the task module in PXP agent has functionality to download task files to run.\n\nWe should move that functionality to utility functions so it can be shared between task, run_script and download_file.\n\nWe also need to add an additional download file utility that will be async so download_file doesn't need to block on the entire file download before returning a message.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32247", "fixedVersions": ["pxp-agent 1.11.1"], "id": "32247", "issueType": "Task", "key": "PCP-872", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "resolution": "Fixed", "resolutionDate": "2019-07-02T10:25:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Create shared functionality for downloading files for task/plan module in PXP", "timeSpent": "PT0S", "updated": "2019-07-02T10:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:75cf0874-3831-4bb6-a7ff-b655ecaa1a81", "attachments": [], "comments": [{"author": "557058:75cf0874-3831-4bb6-a7ff-b655ecaa1a81", "body": "This has passed CI now", "created": "2019-05-28T10:57:00.000000"}], "components": [], "created": "2019-05-22T12:08:00.000000", "creator": "557058:75cf0874-3831-4bb6-a7ff-b655ecaa1a81", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@602040bb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzuqjr:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_15434_*|*_10007_*:*_1_*:*_504332802_*|*_3_*:*_1_*:*_9762827_*|*_5_*:*_1_*:*_3022068097_*|*_6_*:*_1_*:*_0"}], "description": "To support\u00a0ORCH-2303, refactor the PXP task module so that any behavior that should be shared between all bolt-supporting modules is contained in a reusable base class. This should *not*\u00a0include behavior around file handling (as for run_script or file_upload).\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31985", "fixedVersions": ["pxp-agent 1.11.1"], "id": "31985", "issueType": "Improvement", "key": "PCP-871", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:75cf0874-3831-4bb6-a7ff-b655ecaa1a81", "resolution": "Fixed", "resolutionDate": "2019-07-02T10:25:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Extract basic bolt pxp module behavior into a reusable base", "timeSpent": "PT0S", "updated": "2019-07-02T10:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I have some additionally commentary if this really needs to be configured in PE:\n{quote}Trouble is, someone trying to make larger messages work will still run into trouble. If you need to get larger messages back, you need to configure both pcp-broker (all of them) and orchestrator. If you want to send larger messages, you need to configure clj-pcp-client in pcp-broker to accept messages from Orchestrator.\n\nLooks like pxp-agent never had much of a size limit: https://github.com/zaphoyd/websocketpp/issues/312. Probably maxes at 2^32 bits.{quote}", "created": "2019-05-22T10:32:00.000000"}, {"author": "557058:8db25e7a-4bdb-4fe2-af6b-f0a9bc714e12", "body": "Not really any docs in that repo. I suppose a comment could be added here:\n\nhttps://github.com/puppetlabs/clj-pcp-client/blob/4e7b28328adce067a0b187259c18578e51ec02ff/dev/user.clj#L12", "created": "2020-10-30T14:58:00.000000"}], "components": ["clj-pcp-client"], "created": "2019-05-21T17:26:00.000000", "creator": "557058:03aedc5a-47b0-4c60-a13f-46427c87153e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2db4f27e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzuq4n:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/May/19"}], "description": "The pcp-broker has a configurable max-message size but it is currently not documented. I have added a PR to the pcp-broker project ([https://github.com/puppetlabs/pcp-broker/pull/220)] to add this reference to the configuration guide. I think we should add the same reference to the clojure pcp client as well.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31588", "fixedVersions": [], "id": "31588", "issueType": "Improvement", "key": "PCP-870", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:03aedc5a-47b0-4c60-a13f-46427c87153e", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add max-message-size reference to configuration documentation", "timeSpent": "PT0S", "updated": "2020-10-30T14:58:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "attachments": [], "comments": [], "components": [], "created": "2019-05-08T12:53:00.000000", "creator": "557058:75cf0874-3831-4bb6-a7ff-b655ecaa1a81", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@46e0a7aa"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hykgn3:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Previously, running a command over PCP via pxp-agent required wrapping the command in a temporary task wrapper via bolt_shim, because pxp-agent was not able to respond to any other types of PCP requests for bolt actions (like \"command run\", \"upload file\", or \"script run\").\n\nThese changes allow pxp-agents to respond to requests to execute a \"script run\" action over PCP without formatting them as tasks."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_85737325_*|*_1_*:*_1_*:*_208766_*|*_10007_*:*_1_*:*_97312481_*|*_3_*:*_2_*:*_761198328_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_3799645583_*|*_10005_*:*_2_*:*_3299600309"}], "description": "Users can currently {{run_task}} over pxp, but for {{run_script}}, they must first install the bolt_shim module, which converts any {{run_script}} actions to tasks so that pxp-agent can handle them.\n\nUpdate pxp-agent so that it can {{run_script}} natively, the way it can already {{run_task}}.\n\nUse methods from {{upload_file}} and {{run_command}} to implement {{run_script}}. {{run_script}} should be a single atomic operation from a protocol perspective.\n\n{{run_script}} should look very similar to {{run_task}}. {{run_script}} should:\n\n* Download the file to the cache dir\n* Run the script from the cache dir with any arguments passed through the protocol.\n* Replicate the windows specific \"interpreter finding\" logic\n* Ensure {{run_script}} is \"Purgeable\" in the same way that {{run_task}} is\n* the schema should look similar to run task with an additional array of \"arguments\" for the script to be run", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31826", "fixedVersions": ["pxp-agent 1.12.3", "pxp-agent 1.12.4"], "id": "31826", "issueType": "Improvement", "key": "PCP-869", "labels": ["resolved-issue-added", "run_script"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:75cf0874-3831-4bb6-a7ff-b655ecaa1a81", "resolution": "Done", "resolutionDate": "2019-08-09T15:15:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Implement run_script for pxp-agent", "timeSpent": "PT0S", "updated": "2019-09-12T01:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "attachments": [], "comments": [], "components": [], "created": "2019-05-08T12:51:00.000000", "creator": "557058:75cf0874-3831-4bb6-a7ff-b655ecaa1a81", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2e356c84"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hykg5j:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Previously, running a command over PCP via pxp-agent required wrapping the command in a temporary task wrapper via bolt_shim, because pxp-agent was not able to respond to any other types of PCP requests for bolt actions (like \"command run\", \"upload file\", or \"script run\").\n\nThese changes allow pxp-agents to respond to requests to execute a \"download_file\" action over PCP without formatting them as tasks."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_1026382833_*|*_1_*:*_1_*:*_329772_*|*_10007_*:*_1_*:*_7826463_*|*_3_*:*_2_*:*_1802416667_*|*_5_*:*_1_*:*_79132910_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_162473888_*|*_10005_*:*_2_*:*_1664685388"}], "description": "Users can currently {{run_task}} over pxp, but for {{upload_file}}, they must first install the bolt_shim module, which converts any {{upload_file}} actions to tasks so that pxp-agent can handle them.\n\nUpdate pxp-agent so that it can {{upload_file}} natively, the way it can already {{run_task}}.\n\nWe want this to actually be a _download_ from puppetserver when possible: pxp may use puppetserver's existing file_content endpoint. The command in PXP should almost certainly thus be called {{download_file}}, since that is the action that PXP will take.\n\n-Possible problem: the plan language also supports arbitrary paths for file content -- this may require a push model. Part of this ticket will be determining how to address that.- It's unclear if files outside the {{files}} directory make sense when a plan is run through Orchestrator, since the \"local\" environment is always that of the Orchestrator node. For now, only supporting files that Puppetserver can serve seems the sanest path forward.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31747", "fixedVersions": ["pxp-agent 1.12.1"], "id": "31747", "issueType": "Improvement", "key": "PCP-868", "labels": ["upload_file"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:75cf0874-3831-4bb6-a7ff-b655ecaa1a81", "resolution": "Fixed", "resolutionDate": "2019-07-02T10:25:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Implement upload_file for pxp-agent", "timeSpent": "PT0S", "updated": "2019-08-28T18:27:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:b72c16a2-594d-45f8-90bc-c6bc6c9510a8", "attachments": [], "comments": [{"author": "557058:75cf0874-3831-4bb6-a7ff-b655ecaa1a81", "body": "Unassigning this from myself for now while I look at ORCH-2299. Others can feel free to reassign if wanted.", "created": "2019-05-14T15:02:00.000000"}, {"author": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "body": "PR #754 merged to pxp-agent#master at https://github.com/puppetlabs/pxp-agent/commit/4f42a389a002c701bb8aa973ba3751130ba3b852", "created": "2019-06-17T13:34:00.000000"}], "components": [], "created": "2019-05-08T12:48:00.000000", "creator": "557058:75cf0874-3831-4bb6-a7ff-b655ecaa1a81", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@75e49a8d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzuqof:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Previously, running a command over PCP via pxp-agent required wrapping the command in a temporary task wrapper via bolt_shim, because pxp-agent was not able to respond to any other types of PCP requests for bolt actions (like \"command run\", \"upload file\", or \"script run\").\n\nThese changes allow pxp-agents to respond to requests to execute a \"command run\" action over PCP without formatting them as tasks.\n\nThere is a possibly significant user-facing path change here: the executable \"/opt/puppetlabs/puppet/bin/task_wrapper\" has moved to \"/opt/puppetlabs/puppet/bin/execution_wrapper\". Anyone using this executable directly should update their paths accordingly. Its functionality remains the same as before -- this is only a name change to reflect that it is used for more than one type of bolt action (formerly just \"task run\", now \"command run\" as well)."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/Jun/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_96021829_*|*_1_*:*_1_*:*_451752_*|*_10007_*:*_2_*:*_844951412_*|*_3_*:*_4_*:*_1275296542_*|*_10009_*:*_1_*:*_72141149_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_3_*:*_824517945_*|*_10005_*:*_1_*:*_513517913"}], "description": "Users can currently {{run_task}} over pxp, but for {{run_command}}, they must first install the bolt_shim module, which converts any {{run_command}} actions to tasks so that pxp-agent can handle them.\n\nUpdate pxp-agent so that it can {{run_command}} natively, the way it can already {{run_task}}.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31587", "fixedVersions": ["pxp-agent 1.12.0"], "id": "31587", "issueType": "Improvement", "key": "PCP-867", "labels": ["run_command"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:75cf0874-3831-4bb6-a7ff-b655ecaa1a81", "resolution": "Done", "resolutionDate": "2019-06-19T12:16:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Implement run_command for pxp-agent", "timeSpent": "PT0S", "updated": "2019-08-28T18:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5aa6cd9bfe2b4b24ab21c2f7", "attachments": [], "comments": [{"author": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "body": "[~accountid:5aa6cd9bfe2b4b24ab21c2f7] - any chance you could take a look at this?", "created": "2019-03-20T19:06:00.000000"}, {"author": "5aa6cd9bfe2b4b24ab21c2f7", "body": "Will look today.", "created": "2019-03-21T08:57:00.000000"}, {"author": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "body": "PR #219 merged to pcp-broker#master at https://github.com/puppetlabs/pcp-broker/commit/f069baf6a9604389b1dde6640778e96309f2d916", "created": "2019-03-22T14:48:00.000000"}, {"author": "5aa6cd9bfe2b4b24ab21c2f7", "body": "Reverted change to pinning to 1.5.1:\u00a0https://github.com/puppetlabs/ci-job-configs/pull/5670", "created": "2019-03-22T15:02:00.000000"}, {"author": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "body": "[~accountid:5aa6cd9bfe2b4b24ab21c2f7], is there anything left to do here?", "created": "2019-04-08T16:54:00.000000"}, {"author": "5aa6cd9bfe2b4b24ab21c2f7", "body": "[~accountid:557058:3bbf1c83-df0e-4372-887d-cfc38dee9330] no. Good to go. ", "created": "2019-04-08T16:56:00.000000"}], "components": [], "created": "2019-03-04T11:51:00.000000", "creator": "557058:75cf0874-3831-4bb6-a7ff-b655ecaa1a81", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform puppet-agent suite"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@36ad97eb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzt3lr:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Mar/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_1479280458_*|*_1_*:*_1_*:*_776351810_*|*_10007_*:*_1_*:*_3648437_*|*_3_*:*_1_*:*_89936942_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_696712027"}], "description": "The agent test suite uses the master branch of pcp-broker in its 5.5.x, 6.0.x, and master integration tests for pxp-agent. Theses started failing after this commit, which updates clj-parent:\n\n[https://github.com/puppetlabs/pcp-broker/commit/4ed40afd5833d70b34cc960be659c8e560dca49e#diff-0fff143854a4f5c0469a3819b978a483R16]\n\nHere are some example failures:\n\n[https://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/Acceptance%20Suites/view/5.5.x/view/Suite/job/platform_puppet-agent_puppet-agent-integration-suite_daily-5.5.x/340/]\n\nWe've pinned pcp-broker to 1.5.1 in the pipelines to allow pxp-agent tests to pass, but we need to find some solution that will allow agent tests to pass with pcp-broker#master.\n\nOnce this ticket is resolved, we should go back to using the master branch of pcp-broker in the agent pipelines (Revert [this ci-job-configs PR|https://github.com/puppetlabs/ci-job-configs/pull/5641]).", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31744", "fixedVersions": ["pcp-broker 1.5.4"], "id": "31744", "issueType": "CI Blocker", "key": "PCP-866", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:75cf0874-3831-4bb6-a7ff-b655ecaa1a81", "resolution": "Fixed", "resolutionDate": "2019-04-08T18:56:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Agent test suite for pxp-agent fails with updated clj-parent / pcp-broker", "timeSpent": "PT0S", "updated": "2019-04-08T18:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "body": "This issue was automatically closed when the Bolt team moved to using Github Issues for ticket management (August 2019). If you'd like to reopen the issue or discuss it further please open a github issue at http://github.com/puppetlabs/bolt/issues.", "created": "2019-08-26T11:56:00.000000"}], "components": [], "created": "2019-02-22T13:11:00.000000", "creator": "5e3375e183d74c0e821851f3", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2d1d27"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzsy0f:"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "33905,34440"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "26/Aug/19"}], "description": "As a bolt and PE user, I would like to use tasks over PCP, but have security policies that will not allow running commands remotely using the {{root}} user. This limits our ability to use bolt over {{pcp}} in the environment as the tasks would be executed as the root user, even if they then switch to a non privileged user. \n\nThis request is to add the `run-as` option for bolt over {{pcp}} to meet the security requirements.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31948", "fixedVersions": [], "id": "31948", "issueType": "New Feature", "key": "PCP-888", "labels": ["closed-github-move"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "5e3375e183d74c0e821851f3", "status": "Reopened", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Allow specifying a run-as user for pcp", "timeSpent": "PT0S", "updated": "2020-01-29T14:04:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2019-01-16T12:49:00.000000", "creator": "557058:836ef76e-8051-48a3-8dc7-005f79695b0e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5c14777f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Customer Feedback"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzs8h3:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "29/Apr/19"}], "description": "h2. Steps to reproduce\n # Install a PE 2016.4 agent on Windows 2008/2012/2016 nodes.\n # Use the puppetlabs/puppet_agent module (v1.7) to upgrade them to PE 2018.1.\n\nh2. Expected behavior\n\nThe upgrade is successful.\nh2. Observed behavior\n\npxp-agent.exe sometimes, but not always, fails to halt when puppet_agent stops its service. NSSM reports that the service has stopped even though the process is still running, and the puppet_agent module does not otherwise confirm the process's state after stopping the service. (FM-7628)\n\nThe affected agents fail to start after the upgrade. pxp-agent enters an endless loop of attempting and failing to restart, puppet runs fail to start, and the affected nodes are unmanaged. PA-2241 (fixed in agent 5.5.8) appears to change the fail state behavior in this situation to avoid the restart loop, but the nodes still fall out of management.\nh3. Customer case\n\nIn PE-25642, A customer attempted to upgrade about 600 Windows PE 2016.4.8 agents, running a mix ranging from Windows Server 2008 to 2016, to 2018.1 via the puppet_agent module. Upgrades completed in the above described inconsistent state on about 1/3 of their agents. There were no observed commonalities between affected nodes in network environment or OS version.\n\nThe customer worked around the issue by adding a line to the upgrade script within the puppet_agent module to {{taskkill}} pxp-agent.exe by process name on the affected nodes, and then re-attempted the upgrade. This resolved the issue on about 95% of affected nodes, with the remaining nodes affected by other unrelated issues.\nh3. Reproduction blockers\n\nSupport has not been able to reproduce this in a lab environment because we cannot force pxp-agent into entering a state where NSSM can't manage it.\n\nThe cause of that state for the customer is still unclear. Windows event logs gathered from nodes and attached to PE-25642 suggest pxp-agent refuses to halt because it's holding a file open, but we haven't identified which file. For the customer, service management in general took an unexpectedly long time even when successful (more than 30 seconds, and sometimes up to several minutes, to stop a \"healthy\" pxp-agent service manually) but in all persistent cases pxp-agent.exe was fully wedged for hours at a time.\nh2. Related tickets\n\nPCP-858: \"investigating the specific failure scenarios where restarting the pxp-agent service would be useful\"", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31947", "fixedVersions": [], "id": "31947", "issueType": "Bug", "key": "PCP-863", "labels": ["needs_repro"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:836ef76e-8051-48a3-8dc7-005f79695b0e", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent.exe doesn't halt when its service is stopped", "timeSpent": "PT0S", "updated": "2021-06-04T15:12:00.000000", "votes": "2", "watchers": []}, {"affectedVersions": [], "assignee": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "We should investigate if there's anything we can do to ensure resources are freed when a connection is superseded. We could also add an exponential backoff to pxp-agent when the server closes the connection to limit flapping.", "created": "2019-01-14T09:41:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "http://www.eclipse.org/jetty/javadoc/9.4.5.v20170502/org/eclipse/jetty/websocket/api/Session.html#close-org.eclipse.jetty.websocket.api.CloseStatus- is what we use now to close a Superseded connection. That can take awhile to resolve, especially under load. We may want to consider following up with a {{disconnect}}, that may help release resources quicker.", "created": "2019-01-14T11:09:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "For testing, I\u2019d suggest setting up a master and agent hosts in vmpooler with https://github.com/puppetlabs/pe_acceptance_tests/tree/2018.1.x/setup/scale. Once setup, the agent hosts can be scaled to run thousands of pxp-agent instances, and we can modify LimitNOFILE in /etc/systemd/system/multi-user.target.wants/pe-puppetserver.service to reduce the limit.", "created": "2019-01-23T23:48:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "In the description you say to note the number of connections in TIME_WAIT. Is there a normal absolute number, or number relative to the number of non-TIME_WAIT connections that would be open to the broker, or is any TIME_WAIT connections a symptom of this?\n\nYou also mention Superseded connections. Is that a one to one correlation to log lines such as:\n{code}\nINFO  [qtp1779066441-88928] [p.p.b.core] pcp://<hostname>/agent disconnected 4000 Superseded.\n{code}\n\nWould there be a relation between TIME_WAIT connections and Superseded log lines?", "created": "2020-01-10T16:48:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Most of the time there shouldn't be any, TIME_WAIT is usually related to waiting on a response to connect/disconnect (which should be fast).\n\n\"Superseded\" is the message we'd get in pcp-broker logs. There shouldn't really be a correlation, lots of \"Superseded\" messages imply there are multiple pxp-agents using the same certificate (which shouldn't happen most of the time).", "created": "2020-01-10T20:14:00.000000"}], "components": [], "created": "2019-01-13T15:59:00.000000", "creator": "557058:f23b0b7f-9386-48b3-bd71-4399766356f4", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@b998b76"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Customer Feedback"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hykjxr:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "This fixes PCP broker to close superseded connections with `disconnect` in place of `close!`, which frees resources (namely file descriptors) much more quickly, avoiding using system resources unnecessarily when there's a flapping connection or multiple pxp-agents competing for connections. "}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Jan/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_150631541_*|*_1_*:*_2_*:*_938511242_*|*_10007_*:*_2_*:*_425084538_*|*_3_*:*_2_*:*_2526962092_*|*_5_*:*_1_*:*_0"}], "description": "h4. Summary:\n\nIf a condition exists where pxp-agent connections are flapping (see PCP-833) this can exhaust resources on the broker\nh4. Reproduction:\n\nSLES11 agents are susceptible to PCP-833, remove the pxp-agent pidfile and start a second pxp-agent process:\n\n\u00a0\n{noformat}rm /var/run/puppetlabs/pxp-agent.pid\nservice pxp-agent start\n## confirm two pids:\npgrep pxp-agent\n{noformat}\n\u00a0\n\nOn the broker, note the number of connection in TIME_WAIT:\n\n\u00a0\n{noformat}netstat -tunap | grep 8142 | grep TIME_WAIT\u00a0\ntcp6 0 0 192.168.0.6:8142 10.32.114.98:51034 TIME_WAIT - \ntcp6 0 0 192.168.0.6:8142 10.32.114.98:50997 TIME_WAIT - \ntcp6 0 0 192.168.0.6:8142 10.32.114.98:51144 TIME_WAIT - \ntcp6 0 0 192.168.0.6:8142 10.32.114.98:51103 TIME_WAIT -\n<snip>\n{noformat}\nAlso note the number of file descriptors for the broker service increasing:\n{noformat}watch 'ls /proc/$(systemctl show -p MainPID pe-orchestration-services|cut -d= -f2)/fd | wc -l'{noformat}\nThis will continue until the service either runs out of file descriptors or the heap for the service is exhausted.\n\nIf the broker runs on a compile master, this interrupts the puppetserver service as well.\n\nNote: As part of this work, update [~accountid:5a6649d80f236c260941c7ee] when this ticket is in merging and once it's merged.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31984", "fixedVersions": ["pcp-broker 1.5.3"], "id": "31984", "issueType": "Bug", "key": "PCP-862", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Critical", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:f23b0b7f-9386-48b3-bd71-4399766356f4", "resolution": "Fixed", "resolutionDate": "2019-03-01T10:32:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent connection flapping exhausts resources on broker", "timeSpent": "PT0S", "updated": "2020-03-27T10:55:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "623c120794742a00683e414e", "body": "don't change defaut settings in puppet agent conf file", "created": "2019-01-03T04:56:00.000000"}], "components": ["pxp-agent"], "created": "2019-01-03T02:18:00.000000", "creator": "623c120794742a00683e414e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@302cc9a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzrxbj:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_9475062_*|*_6_*:*_1_*:*_0"}], "description": "Hello\n\ni have just installed PE 2019 for testing purposes and installed my first agent on AIX 7.1 ( downloaded the agent tarball from the puppet website ( from here [https://puppet.com/misc/pe-files/pe_repo)]\n\nnow agent is istalled ( with installp AIX package management command ) but pxp-agent fails to start without any error message\n\n\u00a0\n\nPlease help.\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32246", "fixedVersions": [], "id": "32246", "issueType": "Bug", "key": "PCP-861", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Blocker", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "623c120794742a00683e414e", "resolution": "Done", "resolutionDate": "2019-01-03T04:56:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent don't start on my AIX 7.1", "timeSpent": "PT0S", "updated": "2019-01-03T04:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Spec update at https://github.com/puppetlabs/puppet-specifications/pull/129.", "created": "2018-10-16T12:07:00.000000"}], "components": [], "created": "2018-10-16T10:22:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@69211cc4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzqjwn:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "When using tasks that include shared code, the task executable will now be located alongside shared code at _installdir/MODULE/tasks/TASK."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_97303345_*|*_1_*:*_1_*:*_360233_*|*_10007_*:*_1_*:*_5747473_*|*_3_*:*_1_*:*_5793141_*|*_5_*:*_1_*:*_938521516_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_66381452"}], "description": "The task implementation is currently not in a predictable location relative to {{_installdir}}. When using an {{_installdir}}, put it in its own module directory so that it can use relative paths to load other files. That location optimizes for testing the task easily from within its own module.\n\nAlso update puppet-specifications to clarify this behavior.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32141", "fixedVersions": ["pxp-agent 1.10.3"], "id": "32141", "issueType": "Bug", "key": "PCP-860", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2018-10-18T11:08:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Task implementation should be located relative to others in installdir", "timeSpent": "PT0S", "updated": "2018-10-29T07:51:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Generally it shouldn't be. If pxp-agent stops except for misconfiguration it's a bug.", "created": "2018-09-26T15:48:00.000000"}], "components": [], "created": "2018-09-26T15:40:00.000000", "creator": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@54081507"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzq54v:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "26/Sep/18"}], "description": "The work in PA-2241 configured NSSM in the pxp-agent service to ignore all failure exit codes except for the exit code indicating an invalid configuration, whereby it would then proceed to stop the service. This is bad, because there could be failure scenarios where restarting the pxp-agent service makes sense. Note that this was the default behavior prior to PA-2241.\n\nThe work in this ticket consists of investigating the specific failure scenarios where restarting the pxp-agent service would be useful. Further work should be done to return different exit codes for these failures, and then configuring NSSM to restart the pxp-agent service for these exit codes in the puppet-agent repo.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31946", "fixedVersions": [], "id": "31946", "issueType": "Task", "key": "PCP-858", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Investigate the pxp-agent failure scenarios where restarting the service makes sense", "timeSpent": "PT0S", "updated": "2019-01-16T12:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "In this scenario pxp-agent successfully starts, but it appears that when it was restarted the TCP connection to pcp-broker was not closed correctly and the message the test attempts to send is lost. That's a different failure than PE-25160.", "created": "2018-09-26T13:45:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Closing the TCP connection is normally handled by the OS. However, undetected agent disconnects are an allowed part of pcp-broker's and particularly Orchestrator's operational model, where we handle them with timeouts and retries. I think the appropriate step to take here is make the test more robust to this kind of connection loss and attempt a retry after suitable timeout.", "created": "2018-09-26T13:49:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This may have started happening as a result of several library changes: websocketpp 0.7.0 to 0.8.1, boost 1.58 to 1.67, and openssl 1.0.2 to 1.1.", "created": "2018-09-26T14:33:00.000000"}, {"author": "557058:75cf0874-3831-4bb6-a7ff-b655ecaa1a81", "body": "Agent sha\u00a0f3300423b94d0cb56fb36c64c1b2e4fde525aa0c passed CI in 6.0.x last night and promoted to PE 2019.0.x successfully\u00a0[here|https://github.com/puppetlabs/enterprise-dist/commit/1538334332aa0533983fa4b6361a0e91607e13ef]. I'll do the mergup to master this morning when I get in.", "created": "2018-09-27T08:59:00.000000"}], "components": [], "created": "2018-09-26T12:26:00.000000", "creator": "557058:75cf0874-3831-4bb6-a7ff-b655ecaa1a81", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform puppet-agent"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@27a8998b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzq4pj:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "26/Sep/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_63271339_*|*_1_*:*_1_*:*_7375850_*|*_10007_*:*_1_*:*_4603457_*|*_10009_*:*_1_*:*_5466_*|*_5_*:*_1_*:*_447872347_*|*_6_*:*_1_*:*_0"}], "description": "[https://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/Acceptance%20Suites/view/6.0.x/view/Suite/job/platform_puppet-agent-private_puppet-agent-integration-suite_daily-6.0.x/RMM_COMPONENT_TO_TEST_NAME=pxp_agent,SLAVE_LABEL=beaker,TEST_TARGET=windows10ent-32a/13/testReport/(root)/tests_pxp-module-puppet/restart_pxp_agent_during_non_blocking_run_rb/]\n\nIt's still unclear what exactly is causing these failures, but it may be related to either recently updated windows templates or to updated service management in puppet's service provider for Windows.\n\n{code}\nDidn't receive all PCP responses when requesting status query on [\"pcp://ta182bpq3bxwuoy.delivery.puppetlabs.net/agent\"]. Responses received were: {}\n{code}\noccurs after the 60 second timeout waiting for a response. After reproducing the error, I see that the test's message was relayed by pcp-broker but never received by pxp-agent, and a \"Superseded\" message in pcp-broker logs shows up after when pxp-agent reconnects.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31622", "fixedVersions": ["pxp-agent 1.10.1"], "id": "31622", "issueType": "CI Blocker", "key": "PCP-857", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Blocker", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:75cf0874-3831-4bb6-a7ff-b655ecaa1a81", "resolution": "Fixed", "resolutionDate": "2018-09-27T09:20:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "nssm fails to restart pxp-agent on 32-bit Windows 10", "timeSpent": "PT0S", "updated": "2018-10-02T14:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2018-09-14T10:34:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@74b092dc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzpvd3:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_80333343_*|*_1_*:*_1_*:*_15930_*|*_10007_*:*_2_*:*_255684927_*|*_3_*:*_1_*:*_8250130_*|*_5_*:*_1_*:*_98660058_*|*_6_*:*_1_*:*_0"}], "description": "Update pxp-agent tests to use the new {{puppetserver ca}} command.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31741", "fixedVersions": ["pxp-agent 1.10.0"], "id": "31741", "issueType": "Task", "key": "PCP-856", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2018-09-18T10:12:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Fix pxp-agent tests for cert command removal", "timeSpent": "PT0S", "updated": "2018-09-19T13:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:2deef474-47df-419f-8123-bbd42806cf68", "body": "\u00a0\n\nAfter\u00a0 update below parameter\u00a0\n\n\u00a0\n\n{{puppet_enterprise::profile::orchestrator::task_concurrency: 100}}\n\n*Agent Q\u00a0to the customer:* Are you getting the same error or different from the reported one? Can you please share me the current error.\u00a0\n\n\u00a0\n\n*Customer response :*\u00a0\n\n\u00a0Yes, it was the same error, but only when I hit a large number of systems (~2000 on the same puppet master). It's certaiinly a lot better than it was though. I'll try tuning it down a bit further.\n\nOur puppetserver seems to have developed some cyclic overloading where for about 10-15 minutes per hour it's running at max capacity and is sending 503 responses, so during that period is when we see most of the problems. That's something we need to deal with but it would be good to have the orchestrator not be useless at that time, especially if we want to use it to reschedule agents in the way we do now with mcollective", "created": "2018-09-18T21:59:00.000000"}], "components": ["pcp-broker", "pxp-agent"], "created": "2018-09-12T20:18:00.000000", "creator": "557058:2deef474-47df-419f-8123-bbd42806cf68", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Acceptance,\u00a0\n\nWhen we run PE-task, it has to establish a connection with request queue number nodes and remaining nodes to sleep and retry after max_retry _delay duration.\u00a0"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1edd8095"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "CS Priority", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Customer Feedback"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hykl6v:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Sep/18"}], "description": "Hi,\u00a0\n\nWhen attempting to run PE task on the bulk of systems, few are established a connection and remaining failed with HTTP 503 error. This issue due to enabling ``max_queued_requests`` on PE.\u00a0\n\nScenario,\u00a0\n\nWhen we enable\u00a0jruby_puppet_max_queued_requests and\u00a0jruby_puppet_max_retry_delay on PE, it will support to allow connection and remaining to be in the queue for retry. This is working for PE agent. When we run PE-task, it is establishing a connection with a max_queue_request number of nodes and remaining failed immediately without waiting to retry.\u00a0\n\n\u00a0\n\nError: Failed to execute the task for the non blocking 'task run' request (transaction 139). Error: Downloading the task file init.rb failed after trying all the available master-uris. Most recent error message:\u00a0[https://<puppet master host>:8140/puppet/v3/file_content/tasks/service/init.rb?environment=production]\u00a0returned a response with HTTP status 503. Response body: The number of requests waiting for a JRuby instance has exceeded the limit allowed by the max-queued-requests setting.\n\n\u00a0\n\n\u00a0\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32140", "fixedVersions": [], "id": "32140", "issueType": "Bug", "key": "PCP-855", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:2deef474-47df-419f-8123-bbd42806cf68", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "PE Tasks not handling puppetserver max_queued_requests/max_retry_delay properly", "timeSpent": "PT0S", "updated": "2018-12-19T12:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6361cbfc59c794184bcbd33a", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This is promoted in PE. We should write an Orchestrator test that sends a large payload to prevent regressions.", "created": "2018-09-17T10:33:00.000000"}], "components": [], "created": "2018-09-12T18:57:00.000000", "creator": "6361cbfc59c794184bcbd33a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3e744e9f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzpub3:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Sep/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_87645473_*|*_1_*:*_1_*:*_20185_*|*_10007_*:*_1_*:*_68974212_*|*_3_*:*_1_*:*_136916_*|*_5_*:*_1_*:*_1562945701_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_594413194"}], "description": "When accepting messages from agents, pcp-broker uses the {{max-message-size}} setting to adjust the message size allowed. By default, we set it to 64MB, which is generous enough that it should never cause a problem. However, connections to orchestrator use the jetty default of 64KB, which _can_ cause problems with large messages (in particular, large requests). The {{max-message-size}} setting should control that connection as well.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32057", "fixedVersions": ["pcp-broker 1.5.1"], "id": "32057", "issueType": "Bug", "key": "PCP-854", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "6361cbfc59c794184bcbd33a", "resolution": "Fixed", "resolutionDate": "2018-09-21T11:37:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pcp-broker doesn't honor max-message-size setting for connections to orchestrator", "timeSpent": "PT0S", "updated": "2018-10-09T13:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2018-09-11T10:14:00.000000", "creator": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "pxp-agent uses the windows API, not nssm, to create/handle the pxp-agent service."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@185437a3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzpt3r:"}], "description": "Currently, pxp-agent leverages [https://nssm.cc/]\u00a0to create a windows service. However we need to build nssm as a component of the agent and the project itself hasn't been updated in over a year (not to mention we aren't even on the latest release of nssm).\n\n\u00a0\n\nWe should update pxp-agent to work directly with the windows API (rather than nssm) to create/handle the pxp-agent service. This allows us to 'control our own destiny' with the service and remove an older vendored component from the agent.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31945", "fixedVersions": [], "id": "31945", "issueType": "Task", "key": "PCP-853", "labels": ["daemon", "windows"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Update pxp-agent service to use windows API directly, not nssm", "timeSpent": "PT0S", "updated": "2018-09-18T15:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "attachments": [], "comments": [{"author": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "body": "This failure has shown up 4 times in a row with similar or the same error:\u00a0https://jenkins-platform.delivery.puppetlabs.net/job/platform_puppet-agent_puppet-agent-integration-suite_daily-master/RMM_COMPONENT_TO_TEST_NAME=pxp_agent,SLAVE_LABEL=beaker,TEST_TARGET=cumulus25-64a/", "created": "2018-09-05T10:02:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This seems likely to be an issue in Puppet, but we can try to take a look.", "created": "2018-09-06T11:49:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Not reproducing that locally at the moment. Maybe heavy load on the system?", "created": "2018-09-06T12:44:00.000000"}, {"author": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "body": "It's possible, [~accountid:5aa6cd9bfe2b4b24ab21c2f7] have you noticed the failure occur again?", "created": "2018-09-06T15:24:00.000000"}, {"author": "5aa6cd9bfe2b4b24ab21c2f7", "body": "It stopped failing in build 329", "created": "2018-09-06T15:50:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Assuming this is fixed since it was a blocker no one's commented on in nearly 2 years.", "created": "2020-07-23T12:05:00.000000"}], "components": [], "created": "2018-09-05T10:01:00.000000", "creator": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform pxp-agent"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2236b1db"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzpo9j:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/Sep/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_59364240295_*|*_5_*:*_1_*:*_0"}], "description": "Cumulus testing has failed several times in a row (without a successful run) on puppet-agent#master pxp-agent testing.\n\nLink: https://jenkins-platform.delivery.puppetlabs.net/job/platform_puppet-agent_puppet-agent-integration-suite_daily-master/RMM_COMPONENT_TO_TEST_NAME=pxp_agent,SLAVE_LABEL=beaker,TEST_TARGET=cumulus25-64a/326/console\n\n{code}\n01:16:18 Errored Tests Cases:\n01:16:18   Test Case tests/pxp-module-puppet/run_puppet.rb reported: #<RuntimeError: Exception occurred when trying to run Puppet on all agents: Didn't receive all PCP responses when requesting pxp-module-puppet run on [\"pcp://rbzlol2ql0qa635.delivery.puppetlabs.net/agent\"]. Responses received were: {}>\n01:16:18     Test line: tests/pxp-module-puppet/run_puppet.rb:30:in `rescue in block (3 levels) in run_test'\n01:16:18   Test Case tests/pxp-module-puppet/run_puppet_during_puppet.rb reported: #<RuntimeError: Run puppet non-blocking transaction did not contain stdout of puppet run after 60 attempts and 60 seconds>\n01:16:18     Test line: tests/pxp-module-puppet/run_puppet_during_puppet.rb:59:in `block (4 levels) in run_test'\n01:16:18   Test Case tests/pxp-module-puppet/run_puppet_v1.rb reported: #<RuntimeError: Exception occurred when trying to run Puppet on all agents: Didn't receive all PCP responses when requesting pxp-module-puppet run on [\"pcp://rbzlol2ql0qa635.delivery.puppetlabs.net/agent\"]. Responses received were: {}>\n01:16:18     Test line: tests/pxp-module-puppet/run_puppet_v1.rb:43:in `rescue in block (3 levels) in run_test'\n01:16:18 Skipped Tests Cases:\n01:16:18   Test Case tests/tasks/run_ps1.rb \n01:16:18 Pending Tests Cases:\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31586", "fixedVersions": [], "id": "31586", "issueType": "CI Blocker", "key": "PCP-852", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Blocker", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "resolution": "Fixed", "resolutionDate": "2020-07-23T12:05:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent tests for puppet-agent#master failing on cumulus", "timeSpent": "PT0S", "updated": "2020-07-23T12:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5ade3a9f91bc312e6a4a30f3", "attachments": [], "comments": [], "components": [], "created": "2018-08-14T10:43:00.000000", "creator": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3e2a03b4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzpg93:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "pxp-agent now supports additional files declared by a task."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_163752613_*|*_1_*:*_1_*:*_1989480272_*|*_10007_*:*_1_*:*_6892329_*|*_3_*:*_1_*:*_542994953_*|*_5_*:*_1_*:*_89979343_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_327719439"}], "description": "pxp agent should find all files required for the chosen implementation of the task and download them from puppet-server into the correct directory structure.\n\n* files should be cached individually\n* pxp agent should construct a directory with the files for a specific task invocation inside the spooldir for that job.\n* pxp agent should concatenate files from the top level and chosen implemenation\n* pxp agent should add the _installdir metaparam when there are multiple files.\n* pxp agent should not copy the task to spool or set _installdir when there is only a single file.\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32056", "fixedVersions": ["pxp-agent 1.10.0"], "id": "32056", "issueType": "New Feature", "key": "PCP-851", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "resolution": "Fixed", "resolutionDate": "2018-09-18T12:37:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp agent should download all files required by a task", "timeSpent": "PT0S", "updated": "2018-09-19T13:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6361cbfc59c794184bcbd33a", "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2018-06-11T12:32:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3f796363"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzpg8f:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "pxp-agent now supports the {{_task}} metaparameter, which can be used to define multiple tasks with a single shared implementation."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_515232935_*|*_1_*:*_1_*:*_7351474790_*|*_10007_*:*_1_*:*_9195046_*|*_3_*:*_1_*:*_166505299_*|*_10009_*:*_1_*:*_264223415_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_2_*:*_158410662"}], "description": "In order to allow a single executable to be used for multiple tasks, we need to provide information to the executable about which task is being invoked. Per the tasks spec, pxp-agent should pass a {{_task}} parameter with the name of the task being invoked. This will allow the executable to vary its behavior based on which task it's providing.\n\nIncorporate fixes in Bolt to only pass parameters that the task expects when using the {{powershell}} input method.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32245", "fixedVersions": [], "id": "32245", "issueType": "Improvement", "key": "PCP-849", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2018-09-17T11:56:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent should pass _task parameter to tasks", "timeSpent": "PT0S", "updated": "2018-09-17T11:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "It appears websocketpp has some proxy support that we'll have to hook up in cpp-pcp-client.\n\nhttps://github.com/zaphoyd/websocketpp/issues/132 may be useful context.", "created": "2018-06-05T10:47:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "An additional wrinkle is that pxp-agent *also* talks to a Puppet Master to download tasks, which may need a different proxy configuration.\n\nSo we need to be able to separately configure proxies for the websocket connection, and for the master http connection.", "created": "2018-06-06T15:33:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "New test appears to fail on amazon6 and amazon7 images.", "created": "2018-06-28T11:17:00.000000"}], "components": [], "created": "2018-06-04T15:37:00.000000", "creator": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@9c773a4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzmsxr:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Add proxy configuration options. Set proxy between pxp-agent and pcp-broker with broker-ws-proxy. Set proxy between pxp-agent and puppet master with master-proxy. "}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Jun/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_136410170_*|*_1_*:*_1_*:*_326053582_*|*_10007_*:*_1_*:*_604644414_*|*_3_*:*_2_*:*_1070963516_*|*_10009_*:*_1_*:*_8536935_*|*_5_*:*_1_*:*_1624155430_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_2157817"}], "description": "pxp-agent does not have a configuration options for configuring a proxy for it to connect over. This forces users to rely on system level configuration for pxp-agent while the puppet agent can be configured directly to utilize a proxy.\n\npxp-agent should have configuration options to configure a non-terminating proxy for both PCP (websocket) connections, and for connecting to master-uris to download tasks.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31585", "fixedVersions": ["cpp-pcp-client 1.5.6", "pxp-agent 1.9.3"], "id": "31585", "issueType": "New Feature", "key": "PCP-848", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "resolution": "Fixed", "resolutionDate": "2018-06-29T12:30:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent should accept an http_proxy_host configuration", "timeSpent": "PT0S", "updated": "2018-07-18T07:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I was thinking something like https://github.com/MikaelSmith/pxp-agent/tree/PCP-845.", "created": "2018-05-18T10:35:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "We get failures that are difficult to debug in our own testing, I think this would help.", "created": "2018-05-18T10:36:00.000000"}, {"author": "557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8", "body": "I put it in the triage sprint, so it can be prioritized.", "created": "2018-05-18T10:48:00.000000"}], "components": [], "created": "2018-05-18T10:34:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@48614871"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hykkif:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "18/May/18"}], "description": "When a Puppet run triggered via pxp-module-puppet fails, it's almost impossible to debug if the failure happened before a report was created.\n\nWe should send back the stdout/stderr output from the run when that happens as part of the error message, so it's easier to identify what went wrong.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31584", "fixedVersions": [], "id": "31584", "issueType": "Bug", "key": "PCP-845", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Failure running Puppet is hard to debug", "timeSpent": "PT0S", "updated": "2019-01-22T10:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:b92a8953-f29c-406d-a628-2e9b7468e50d", "attachments": [{"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T01:34:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12294"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T01:46:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12295"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T01:34:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12311"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T01:46:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12312"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T01:50:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12320"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T01:26:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12328"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T01:38:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12329"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T01:26:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12348"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T01:38:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12349"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T01:30:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12357"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T01:42:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12358"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T01:30:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12368"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T01:42:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12369"}], "comments": [{"author": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "body": "FYI,\n\nAs a workaround, I did several things: \n- added delaycompress to RHEL6 version of /etc/logrotate.d/pxp-agent\n- installed this modified version on RHEL7 servers as well\n- on RHEL7 servers added /etc/systemd/system/pxp-agent.service.d/pidfile.conf:\n\n{noformat}\n[Service]\nExecStartPost=/bin/sh -c \"echo -n $MAINPID > /var/run/puppetlabs/pxp-agent.pid\"\n{noformat}\n\nand now it works fine on all servers. \n\nIMHO, pxp-agent should honor --pidfile option even if it runs with --foreground switch and then logrotate customizations are unnecessary for RHEL7\n\n ", "created": "2018-05-15T15:45:00.000000"}, {"author": "5d0ab039e150e00c52561f34", "body": "I filed ticket [#39520|https://support.puppet.com/hc/en-us/requests/39520] with the Enterprise support team. [~accountid:557058:ac3788df-2d4a-42ff-9dea-7c873aaf6e4d]\u00a0asked me to make a note here to escalate this for inclusion in next release. It requires basically a 1-liner patch to the logrotate definition file. Thanks!", "created": "2020-07-30T11:25:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to alessandro@puppet.com because the address couldn't be found, or is unable to receive mail.\n\nLearn more here: https://support.google.com/mail/?p=NoSuchUser\n\nThe response was:\n\n550 5.1.1 The email account that you tried to reach does not exist. Please try double-checking the recipient's email address for typos or unnecessary spaces. Learn more at https://support.google.com/mail/?p=NoSuchUser r28sor635207pgu.54 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T01:26:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to james.stocks@puppet.com because the address couldn't be found, or is unable to receive mail.\n\nLearn more here: https://support.google.com/mail/?p=DisabledUser\n\nThe response was:\n\n550 5.2.1 The email account that you tried to reach is disabled. Learn more at https://support.google.com/mail/?p=DisabledUser d20sor644910pgi.25 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T01:26:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to alessandro@puppet.com because the address couldn't be found, or is unable to receive mail.\n\nLearn more here: https://support.google.com/mail/?p=NoSuchUser\n\nThe response was:\n\n550 5.1.1 The email account that you tried to reach does not exist. Please try double-checking the recipient's email address for typos or unnecessary spaces. Learn more at https://support.google.com/mail/?p=NoSuchUser e11sor703718plt.32 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T01:30:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to james.stocks@puppet.com because the address couldn't be found, or is unable to receive mail.\n\nLearn more here: https://support.google.com/mail/?p=DisabledUser\n\nThe response was:\n\n550 5.2.1 The email account that you tried to reach is disabled. Learn more at https://support.google.com/mail/?p=DisabledUser d22sor633061pjz.10 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T01:30:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to alessandro@puppet.com because the address couldn't be found, or is unable to receive mail.\n\nLearn more here: https://support.google.com/mail/?p=NoSuchUser\n\nThe response was:\n\n550 5.1.1 The email account that you tried to reach does not exist. Please try double-checking the recipient's email address for typos or unnecessary spaces. Learn more at https://support.google.com/mail/?p=NoSuchUser x10sor639639pga.61 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T01:34:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to james.stocks@puppet.com because the address couldn't be found, or is unable to receive mail.\n\nLearn more here: https://support.google.com/mail/?p=DisabledUser\n\nThe response was:\n\n550 5.2.1 The email account that you tried to reach is disabled. Learn more at https://support.google.com/mail/?p=DisabledUser o34sor660151pgb.49 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T01:34:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to alessandro@puppet.com because the address couldn't be found, or is unable to receive mail.\n\nLearn more here: https://support.google.com/mail/?p=NoSuchUser\n\nThe response was:\n\n550 5.1.1 The email account that you tried to reach does not exist. Please try double-checking the recipient's email address for typos or unnecessary spaces. Learn more at https://support.google.com/mail/?p=NoSuchUser v3sor637139pjl.25 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T01:38:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to james.stocks@puppet.com because the address couldn't be found, or is unable to receive mail.\n\nLearn more here: https://support.google.com/mail/?p=DisabledUser\n\nThe response was:\n\n550 5.2.1 The email account that you tried to reach is disabled. Learn more at https://support.google.com/mail/?p=DisabledUser c9sor721055plo.23 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T01:38:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to alessandro@puppet.com because the address couldn't be found, or is unable to receive mail.\n\nLearn more here: https://support.google.com/mail/?p=NoSuchUser\n\nThe response was:\n\n550 5.1.1 The email account that you tried to reach does not exist. Please try double-checking the recipient's email address for typos or unnecessary spaces. Learn more at https://support.google.com/mail/?p=NoSuchUser g4sor739917plp.13 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T01:42:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to james.stocks@puppet.com because the address couldn't be found, or is unable to receive mail.\n\nLearn more here: https://support.google.com/mail/?p=DisabledUser\n\nThe response was:\n\n550 5.2.1 The email account that you tried to reach is disabled. Learn more at https://support.google.com/mail/?p=DisabledUser g15sor708775ply.34 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T01:42:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to alessandro@puppet.com because the address couldn't be found, or is unable to receive mail.\n\nLearn more here: https://support.google.com/mail/?p=NoSuchUser\n\nThe response was:\n\n550 5.1.1 The email account that you tried to reach does not exist. Please try double-checking the recipient's email address for typos or unnecessary spaces. Learn more at https://support.google.com/mail/?p=NoSuchUser g4sor651233pgs.68 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T01:46:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to james.stocks@puppet.com because the address couldn't be found, or is unable to receive mail.\n\nLearn more here: https://support.google.com/mail/?p=DisabledUser\n\nThe response was:\n\n550 5.2.1 The email account that you tried to reach is disabled. Learn more at https://support.google.com/mail/?p=DisabledUser d1sor659738pjw.1 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T01:46:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to alessandro@puppet.com because the address couldn't be found, or is unable to receive mail.\n\nLearn more here: https://support.google.com/mail/?p=NoSuchUser\n\nThe response was:\n\n550 5.1.1 The email account that you tried to reach does not exist. Please try double-checking the recipient's email address for typos or unnecessary spaces. Learn more at https://support.google.com/mail/?p=NoSuchUser 89sor737192plf.40 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T01:50:00.000000"}], "components": [], "created": "2018-05-13T03:13:00.000000", "creator": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1aa55e03"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "CS Priority", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Customer Feedback"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o051mn:i"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "This was fixed by adding delaycompress to logrotate configurations postpones compression of the previous log file to the next rotation cycle, so that the compression will not happen to the current log file."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "37891,39520,41036"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Aug/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_3639335_*|*_1_*:*_1_*:*_54810596048_*|*_10007_*:*_1_*:*_80775392_*|*_3_*:*_1_*:*_418757442_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_25986539445"}], "description": "logrotate configuration in puppet agent 5.5.1 has several issues:\n{noformat}\n/etc/cron.daily/logrotate:\ngzip: stdin: file size changed while zipping{noformat}\nThis comes from\u00a0/etc/logrotate.d/pxp-agent\u00a0\n\ndelaycompress option is necessary\n\nsame pxp-agent configuration doesn't work when SELinux is enabled:\n{noformat}\n/etc/cron.daily/logrotate:\nFailed to kill unit pxp-agent.service: Access denied\nerror: error running shared postrotate script for '/var/log/puppetlabs/pxp-agent/*.log '{noformat}\nEither proper policy have to be supplied or supply a pid file need to be supplied and regular kill command used\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31944", "fixedVersions": ["pxp-agent 1.15.9"], "id": "31944", "issueType": "Bug", "key": "PCP-850", "labels": ["jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "High (migrated)", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "resolution": "Fixed", "resolutionDate": "2020-12-09T01:38:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent logrotate misconfiguration", "timeSpent": "PT0S", "updated": "2020-12-16T01:50:00.000000", "votes": "2", "watchers": []}, {"affectedVersions": [], "assignee": "557058:75cf0874-3831-4bb6-a7ff-b655ecaa1a81", "attachments": [], "comments": [{"author": "557058:75cf0874-3831-4bb6-a7ff-b655ecaa1a81", "body": "It seems like the switch to artifactory may be at the root of these failures - here's an [ad-hoc run that passed|https://jenkins-master-prod-1.delivery.puppetlabs.net/view/Adhoc/job/platform_puppet-agent-extra_puppet-agent-integration-suite_adhoc-ad_hoc/149/] with the same SHA as [this failed run|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppet-agent_puppet-agent-integration-suite_daily-1.10.x/119/] and the {{GEM_SOURCE}} reverted to stickler.", "created": "2018-04-20T19:26:00.000000"}], "components": ["pxp-agent"], "created": "2018-04-20T15:58:00.000000", "creator": "557058:75cf0874-3831-4bb6-a7ff-b655ecaa1a81", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform puppet-agent suite"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7b5c6387"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzlge7:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_2034937260_*|*_1_*:*_1_*:*_15835984_*|*_5_*:*_1_*:*_0"}], "description": "pxp-agent acceptance tests failed on all Windows platforms for both of the branches of puppet-agent where they ran last night:\n\n1.10.x: [https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppet-agent_puppet-agent-integration-suite_daily-1.10.x/119/]\n\n5.5.x: [https://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/Acceptance%20Suites/view/5.5.x/view/Suite/job/platform_puppet-agent_puppet-agent-integration-suite_daily-5.5.x/48/] (solaris failures unrelated)\n\nMany of the {{pxp-module-puppet.run_puppet_*}} tests failed \u2013 for example (link to full output [here|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppet-agent_puppet-agent-integration-suite_daily-5.5.x/COMPONENT=pxp_agent,SLAVE_LABEL=beaker,TEST_TARGET=windows2016-64a/50/consoleFull]):\n{code}14:45:47     Received response from pcp://jxjs99uvgcdm4ra.delivery.puppetlabs.net/agent: {:envelope=>{:id=>\"76f48cba-f0ff-49ec-b48e-4e19c98ffd99\", :message_type=>\"http://puppetlabs.com/rpc_blocking_response\", :sender=>\"pcp://jxjs99uvgcdm4ra.delivery.puppetlabs.net/agent\", :targets=>[\"pcp://mesos-jenkins-0d955ac8a16d470dbf56f3a90940f88f-workerbeaker/ruby-pcp-client-36981\"], :expires=>\"1970-01-01T00:00:00.000Z\"}, :data=>{\"transaction_id\"=>\"b23644ba-76a2-41c2-aea4-2524a3eeb359\", \"results\"=>{\"transaction_id\"=>\"3e1e133e-cc2b-49c5-a2dd-33bc59952a3a\", \"exitcode\"=>1, \"status\"=>\"failure\", \"stdout\"=>\"{\\\"time\\\":\\\"unknown\\\",\\\"transaction_uuid\\\":\\\"unknown\\\",\\\"environment\\\":\\\"unknown\\\",\\\"status\\\":\\\"unknown\\\",\\\"metrics\\\":{},\\\"exitcode\\\":0,\\\"version\\\":1,\\\"error_type\\\":\\\"no_last_run_report\\\",\\\"error\\\":\\\"C:/ProgramData/PuppetLabs/puppet/cache/state/last_run_report.yaml was not written\\\"}\"}}}\n14:45:47 Minitest::Assertion: PXP run puppet action did not have expected 'success' result.\n14:45:47 Expected: \"success\"\n14:45:47   Actual: \"failure\"\n{code}\n\nThese tests failed on 1.10.x even though the versions of puppetserver and pxp-agent had not changed at all since the past green run. A reload of these jobs later in the day didn't seem to help.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32244", "fixedVersions": [], "id": "32244", "issueType": "CI Blocker", "key": "PCP-843", "labels": ["artifactory", "windows"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:75cf0874-3831-4bb6-a7ff-b655ecaa1a81", "resolution": "Fixed", "resolutionDate": "2018-05-14T09:38:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Migration from stickler to artifactory gem source causes pxp-agent acceptance failures", "timeSpent": "PT0S", "updated": "2018-05-14T09:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This ticket doesn't look related to the PCP project. Joining mailing lists Puppet manages can generally be done via http://groups.google.com/.", "created": "2018-04-18T11:11:00.000000"}], "components": [], "created": "2018-04-16T11:50:00.000000", "creator": "5ac29df7295e614dda8069ad", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3954e861"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzlb2n:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "18/Apr/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_170442909_*|*_6_*:*_1_*:*_0"}], "description": "After everyone on the team received an email about Tom Ellery's implementation of a Puppet Liner podcast, I realized I wasn't included. Not sure how far across the Org mailing lists this spans, but wanted to reach out and see if this could be corrected.\u00a0\n\n\u00a0\n\nThank you!", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31983", "fixedVersions": [], "id": "31983", "issueType": "Task", "key": "PCP-842", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "5ac29df7295e614dda8069ad", "resolution": "Incomplete", "resolutionDate": "2018-04-18T11:11:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Need to get added to mailing lists", "timeSpent": "PT0S", "updated": "2018-04-18T11:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:71582ab7-ed41-48f8-a53e-545356d7dee4", "body": "I opened this ticket here just as a placeholder based on some tentative way of resolving it till we figure out the right approach. It very well may belong in installer. \n", "created": "2018-04-13T12:53:00.000000"}, {"author": "557058:7ed56b44-735e-4cdb-b168-470ef48d5112", "body": "I suspect the issue may be something like this: we vendor our own ruby in the agent package, and that ruby install includes an rbconfig file that tells the gem command to look in our vendored areas for build dependencies when building native gem extensions. We may need to special-case the rbconfig file for the redhatfips agent and point it back at the system header and library paths. However that could potentially break things in other ways I haven't anticipated.", "created": "2018-04-16T16:36:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "ugh.\u00a0 this sounds like an \"any gem w/ native extensions\" issue.\u00a0 or maybe \"also with openssl needs\".\u00a0\n\n\u00a0\n\nthis will impact FIPS masters as well.\u00a0 should we re-title this ticket as more of a RE/build issue for FIPS masters?", "created": "2019-04-25T11:52:00.000000"}], "components": [], "created": "2018-04-13T12:46:00.000000", "creator": "557058:71582ab7-ed41-48f8-a53e-545356d7dee4", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "All pe_acceptance_tests should pass on fips enabled agents running fips enabled puppet. "}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7b3f133b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzl9w7:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Apr/18"}], "description": "It appears installing some ruby gems (pcp-client) needing native extensions fail to install on fips enabled agent nodes. The most likely suspect seems to be missing openssl includes or headers. \nWe MAY need to install the vendored openssl package while still linking all relevant modules to system openssl. That is because the above ruby gems seem to expect the openssl headers, libs to be under puppet (/opt/puppetlabs/puppet)\n\nIt is not clear if we should tweak beaker to do this or update PA to do the above. \n ", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31739", "fixedVersions": [], "id": "31739", "issueType": "Bug", "key": "PCP-841", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:71582ab7-ed41-48f8-a53e-545356d7dee4", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Resolve pe_acceptance_tests security test failure on redhat7-fips agents", "timeSpent": "PT0S", "updated": "2019-04-25T11:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "body": "Possibly relevant: http://www-01.ibm.com/support/docview.wss?uid=isg3T1012796", "created": "2018-04-04T10:31:00.000000"}, {"author": "557058:971ba3ac-d04a-4e49-98fa-a110b38e2528", "body": "Workaround via cron\u00a0\n\n\u00a0\n{code:java}\ncron {'rotate pxp agent logs': \ncommand => 'cp /var/log/puppetlabs/pxp-agent/pxp-agent.log /var/log/puppetlabs/pxp-agent/pxp-agent.log.bak ", "created": "2018-04-05T06:26:00.000000"}, {"author": "70121:b72c16a2-594d-45f8-90bc-c6bc6c9510a8", "body": "Since AIX doesn't have these facilities, I don't think we can resolve this in the agent - it would have to be built in to pxp-agent itself. Boost.log supports rotation, so I don't think this would be incredibly difficult on that side. [~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] Does it make sense to make this a PCP ticket?", "created": "2018-04-10T12:06:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I think we can reconsider using Boost.log. PCP-6 unfortunately doesn't have much background on why it wasn't used originally.", "created": "2018-04-10T12:11:00.000000"}, {"author": "557058:adac4e58-01ac-4fce-8be9-94131c26c73d", "body": "Hi, what is needed for this ticket to be fixed?", "created": "2018-05-18T15:30:00.000000"}], "components": [], "created": "2018-04-04T10:28:00.000000", "creator": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@662b3afe"}, {"fieldName": "CS Business Value", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "4 - $$$$$"}, {"fieldName": "CS Frequency", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "2 - 5-25% of Customers"}, {"fieldName": "CS Impact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "On many other OSs we include logrotate with the package. As seen in this ticket the impact is that drives can fill up.\n\nWe don't see this with puppet itself because it goes to syslog. Ideally we would either send to syslog or have the agent manage logrotation by itself."}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "CS Priority", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Normal"}, {"fieldName": "CS Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "3 - Serious"}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Customer Feedback"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hylc7j:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "04/Apr/18"}], "description": "h1.  The Problem\n\nAIX doesn't have log rotate or as far as I can tell any default way to rotate logs so the pxp-agent logs grow indefinitely on a default installation of AIX.  \n\nh1.  Suggested Solution \n\n?? ", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32055", "fixedVersions": [], "id": "32055", "issueType": "Bug", "key": "PCP-840", "labels": ["aix", "daemon", "logrotate", "maintenance"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent logs grow unbounded on AIX", "timeSpent": "PT0S", "updated": "2021-04-26T17:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:75cf0874-3831-4bb6-a7ff-b655ecaa1a81", "attachments": [], "comments": [], "components": [], "created": "2018-03-21T12:15:00.000000", "creator": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "* pxp-agent continues to work with the new agent paths for windows packages."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@70874a90"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-761"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzoap3:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_499450892_*|*_1_*:*_1_*:*_1141442945_*|*_10007_*:*_2_*:*_4877984_*|*_3_*:*_1_*:*_4782572_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_13903527604"}], "description": "When we update the paths on windows, we need to also update pxp-agent so it expects services/libraries/binaries to live in the correct place.", "epicLinkSummary": "Use consistent pathing in puppet-agent Windows MSI", "estimate": "PT0S", "externalId": "32183", "fixedVersions": [], "id": "32183", "issueType": "Task", "key": "PCP-838", "labels": ["windows"], "originalEstimate": "PT0S", "parent": "59584", "parentSummary": "Use consistent pathing in puppet-agent Windows MSI", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "resolution": "Fixed", "resolutionDate": "2018-09-17T12:50:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Update pxp-agent to work with new agent paths on windows", "timeSpent": "PT0S", "updated": "2018-09-17T12:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Windows Powershell 2.0+ is included on all Windows versions we support (Server 2008+, 7+). .NET 3.5 is only a requirement for powershell parameter passing. I'm going to simplify the test to 'is powershell findable'.", "created": "2018-09-06T14:00:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Well, powershell tasks don't appear to work well on non-Windows powershell. So just hard-coding it based on OS for now.", "created": "2018-09-06T16:03:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] please provide release notes for this issue if needed, thanks!", "created": "2018-09-12T07:23:00.000000"}], "components": [], "created": "2018-03-19T11:15:00.000000", "creator": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@37869c1e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzpg8v:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "pxp-agent supports powershell, shell, and puppet-agent features for selecting task implementations."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/Sep/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_3_*:*_442463410_*|*_1_*:*_1_*:*_14783456915_*|*_10007_*:*_2_*:*_76460240_*|*_3_*:*_1_*:*_2221485_*|*_10009_*:*_1_*:*_264262595_*|*_5_*:*_1_*:*_178805734_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_2_*:*_158410703"}], "description": "- pxp-agent will accept a list of features from the orchestrator that are present in addition to what it can determine. https://github.com/puppetlabs/pxp-agent/blob/1.9.2/lib/src/modules/task.cc#L48-L92 will be extended with a {{features}} property that is an array of features (strings) specified by orchestrator.\n- pxp-agent will determine if powershell is available whenever a task is run (version 2/.NET 3.5 on all platforms when powershell is on the path)\n- pxp agent will determine if shell is available whenever a task is run (not windows)\n\nAvailable features should be identified in {{Task::callAction}} and logged at debug level.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32182", "fixedVersions": ["pxp-agent 1.10.0"], "id": "32182", "issueType": "Task", "key": "PCP-836", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "resolution": "Fixed", "resolutionDate": "2018-09-17T11:57:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "PXP agent should support ps1, shell, and orch specified features", "timeSpent": "PT0S", "updated": "2018-09-19T13:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "attachments": [], "comments": [{"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] please provide release notes for this issue if needed, thanks!", "created": "2018-09-12T07:22:00.000000"}], "components": [], "created": "2018-03-19T11:15:00.000000", "creator": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2e4346fd"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzonxr:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Covered in PCP-836."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Sep/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_95109478_*|*_1_*:*_1_*:*_12789112336_*|*_10007_*:*_4_*:*_1096515806_*|*_3_*:*_3_*:*_28175102_*|*_10009_*:*_1_*:*_602174330_*|*_5_*:*_1_*:*_179059697_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_942448084_*|*_10004_*:*_1_*:*_173547107"}], "description": "The pxp agent should handle multiple task implementations.\n\nIt should track an array of features that are present and compare that against the {{implementations}} property in metadata (added to https://github.com/puppetlabs/pxp-agent/blob/1.9.2/lib/src/modules/task.cc#L48-L92).\n\nAn implementation entry can specify task {{name}} (a specific file to download as the task) and {{input_method}}. {{input_method}} on an implementation should override defaults or top-level declaration.\n\nIt should provide the puppet-agent feature.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32054", "fixedVersions": ["pxp-agent 1.10.0"], "id": "32054", "issueType": "Task", "key": "PCP-835", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "resolution": "Fixed", "resolutionDate": "2018-09-17T11:53:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "PXP agent should handle multiple task implementations", "timeSpent": "PT0S", "updated": "2018-09-19T13:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "The problem appears to be the if statement we use in the {{postrotate}} script:\n\n{noformat}\n# cat /etc/logrotate.d/pxp-agent\n\n/var/log/puppetlabs/pxp-agent/*.log {\n    daily\n    missingok\n    rotate 30\n    compress\n    notifempty\n    sharedscripts\n    postrotate\n        if [ systemctl status pxp-agent.service > /dev/null 2>&1 ]", "created": "2018-03-12T12:02:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This is working its way through puppet-agent automated promotion. I've tagged it with the versions I expect it to be in.", "created": "2018-03-16T15:51:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Present on pxp-agent#master.", "created": "2018-03-22T17:47:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] please add release notes for this issue, if needed. Thanks!", "created": "2018-03-27T10:37:00.000000"}], "components": [], "created": "2018-03-12T11:15:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@b8e3728"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzkken:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Log rotation under systemd will now correctly signal pxp-agent to re-open the log file."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Mar/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_3_*:*_1016535456_*|*_1_*:*_1_*:*_3190498_*|*_10007_*:*_1_*:*_176486128_*|*_10009_*:*_1_*:*_64003059_*|*_5_*:*_1_*:*_1286207659_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_3_*:*_551462133_*|*_10005_*:*_1_*:*_84867738"}], "description": "The pxp-agent logrotate script for systemd never sends the USR2 signal after rotating the logs.\n\nTested by running {{logrotate -f /etc/logrotate.d/pxp-agent}}. This results in a compressed log under /var/log/puppetlabs/pxp-agent, but no new logs. Explicitly sending the USR2 signal restarts logging.\n\nh2. Reproduction Case\n\n  - Install {{puppet-agent}} 5.4.0 on a CentOS 7 VM:\n\n{code:bash}\nrpm -Uvh http://yum.puppetlabs.com/puppet5/puppet-release-el-7.noarch.rpm\nyum install -y puppet-agent\n{code}\n\n  - Configure {{pxp-agent}} so that it can be started.\n\n{code:bash}\n# Bootstrap a CA and keypair\n/opt/puppetlabs/bin/puppet cert generate $(hostname -f)\n\ncat <<EOF > /etc/puppetlabs/pxp-agent/pxp-agent.conf\n{\n    \"broker-ws-uris\": [\n        \"wss://broker.invalid:8142/pcp2/\"\n    ],\n    \"loglevel\": \"info\",\n    \"master-uris\": [\n        \"https://broker.invalid:8140\"\n    ],\n    \"pcp-version\": \"2\",\n    \"ssl-ca-cert\": \"$(/opt/puppetlabs/bin/puppet config print localcacert)\",\n    \"ssl-cert\": \"$(/opt/puppetlabs/bin/puppet config print hostcert)\",\n    \"ssl-key\": \"$(/opt/puppetlabs/bin/puppet config print hostprivkey)\"\n}\nEOF\n{code}\n\n  - Start the {{pxp-agent}} service: {{systemctl start pxp-agent}}. It will log connection failures, but that's fine. Has the bonus effect of putting a steady stream of traffic into the logs.\n\n  - Trigger the {{logrotate}} configuration for {{pxp-agent}} laid down by the {{puppet-agent}} package: {{logrotate -v -f /etc/logrotate.d/pxp-agent}}\n\n\nh3. Outcome\n\nLogrotation works:\n\n{noformat}\n# logrotate -v -f /etc/logrotate.d/pxp-agent\n\nreading config file /etc/logrotate.d/pxp-agent\n\nHandling 1 logs\n\nrotating pattern: /var/log/puppetlabs/pxp-agent/*.log  forced from command line (30 rotations)\nempty log files are not rotated, old logs are removed\nconsidering log /var/log/puppetlabs/pxp-agent/pxp-agent.log\n  log needs rotating\nrotating log /var/log/puppetlabs/pxp-agent/pxp-agent.log, log->rotateCount is 30\ndateext suffix '-20180312'\nglob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'\nrenaming /var/log/puppetlabs/pxp-agent/pxp-agent.log.30.gz to /var/log/puppetlabs/pxp-agent/pxp-agent.log.31.gz (rotatecount 30, logstart 1, i 30),\nold log /var/log/puppetlabs/pxp-agent/pxp-agent.log.30.gz does not exist\nrenaming /var/log/puppetlabs/pxp-agent/pxp-agent.log.29.gz to /var/log/puppetlabs/pxp-agent/pxp-agent.log.30.gz (rotatecount 30, logstart 1, i 29),\nold log /var/log/puppetlabs/pxp-agent/pxp-agent.log.29.gz does not exist\nrenaming /var/log/puppetlabs/pxp-agent/pxp-agent.log.28.gz to /var/log/puppetlabs/pxp-agent/pxp-agent.log.29.gz (rotatecount 30, logstart 1, i 28),\nold log /var/log/puppetlabs/pxp-agent/pxp-agent.log.28.gz does not exist\nrenaming /var/log/puppetlabs/pxp-agent/pxp-agent.log.27.gz to /var/log/puppetlabs/pxp-agent/pxp-agent.log.28.gz (rotatecount 30, logstart 1, i 27),\nold log /var/log/puppetlabs/pxp-agent/pxp-agent.log.27.gz does not exist\nrenaming /var/log/puppetlabs/pxp-agent/pxp-agent.log.26.gz to /var/log/puppetlabs/pxp-agent/pxp-agent.log.27.gz (rotatecount 30, logstart 1, i 26),\nold log /var/log/puppetlabs/pxp-agent/pxp-agent.log.26.gz does not exist\nrenaming /var/log/puppetlabs/pxp-agent/pxp-agent.log.25.gz to /var/log/puppetlabs/pxp-agent/pxp-agent.log.26.gz (rotatecount 30, logstart 1, i 25),\nold log /var/log/puppetlabs/pxp-agent/pxp-agent.log.25.gz does not exist\nrenaming /var/log/puppetlabs/pxp-agent/pxp-agent.log.24.gz to /var/log/puppetlabs/pxp-agent/pxp-agent.log.25.gz (rotatecount 30, logstart 1, i 24),\nold log /var/log/puppetlabs/pxp-agent/pxp-agent.log.24.gz does not exist\nrenaming /var/log/puppetlabs/pxp-agent/pxp-agent.log.23.gz to /var/log/puppetlabs/pxp-agent/pxp-agent.log.24.gz (rotatecount 30, logstart 1, i 23),\nold log /var/log/puppetlabs/pxp-agent/pxp-agent.log.23.gz does not exist\nrenaming /var/log/puppetlabs/pxp-agent/pxp-agent.log.22.gz to /var/log/puppetlabs/pxp-agent/pxp-agent.log.23.gz (rotatecount 30, logstart 1, i 22),\nold log /var/log/puppetlabs/pxp-agent/pxp-agent.log.22.gz does not exist\nrenaming /var/log/puppetlabs/pxp-agent/pxp-agent.log.21.gz to /var/log/puppetlabs/pxp-agent/pxp-agent.log.22.gz (rotatecount 30, logstart 1, i 21),\nold log /var/log/puppetlabs/pxp-agent/pxp-agent.log.21.gz does not exist\nrenaming /var/log/puppetlabs/pxp-agent/pxp-agent.log.20.gz to /var/log/puppetlabs/pxp-agent/pxp-agent.log.21.gz (rotatecount 30, logstart 1, i 20),\nold log /var/log/puppetlabs/pxp-agent/pxp-agent.log.20.gz does not exist\nrenaming /var/log/puppetlabs/pxp-agent/pxp-agent.log.19.gz to /var/log/puppetlabs/pxp-agent/pxp-agent.log.20.gz (rotatecount 30, logstart 1, i 19),\nold log /var/log/puppetlabs/pxp-agent/pxp-agent.log.19.gz does not exist\nrenaming /var/log/puppetlabs/pxp-agent/pxp-agent.log.18.gz to /var/log/puppetlabs/pxp-agent/pxp-agent.log.19.gz (rotatecount 30, logstart 1, i 18),\nold log /var/log/puppetlabs/pxp-agent/pxp-agent.log.18.gz does not exist\nrenaming /var/log/puppetlabs/pxp-agent/pxp-agent.log.17.gz to /var/log/puppetlabs/pxp-agent/pxp-agent.log.18.gz (rotatecount 30, logstart 1, i 17),\nold log /var/log/puppetlabs/pxp-agent/pxp-agent.log.17.gz does not exist\nrenaming /var/log/puppetlabs/pxp-agent/pxp-agent.log.16.gz to /var/log/puppetlabs/pxp-agent/pxp-agent.log.17.gz (rotatecount 30, logstart 1, i 16),\nold log /var/log/puppetlabs/pxp-agent/pxp-agent.log.16.gz does not exist\nrenaming /var/log/puppetlabs/pxp-agent/pxp-agent.log.15.gz to /var/log/puppetlabs/pxp-agent/pxp-agent.log.16.gz (rotatecount 30, logstart 1, i 15),\nold log /var/log/puppetlabs/pxp-agent/pxp-agent.log.15.gz does not exist\nrenaming /var/log/puppetlabs/pxp-agent/pxp-agent.log.14.gz to /var/log/puppetlabs/pxp-agent/pxp-agent.log.15.gz (rotatecount 30, logstart 1, i 14),\nold log /var/log/puppetlabs/pxp-agent/pxp-agent.log.14.gz does not exist\nrenaming /var/log/puppetlabs/pxp-agent/pxp-agent.log.13.gz to /var/log/puppetlabs/pxp-agent/pxp-agent.log.14.gz (rotatecount 30, logstart 1, i 13),\nold log /var/log/puppetlabs/pxp-agent/pxp-agent.log.13.gz does not exist\nrenaming /var/log/puppetlabs/pxp-agent/pxp-agent.log.12.gz to /var/log/puppetlabs/pxp-agent/pxp-agent.log.13.gz (rotatecount 30, logstart 1, i 12),\nold log /var/log/puppetlabs/pxp-agent/pxp-agent.log.12.gz does not exist\nrenaming /var/log/puppetlabs/pxp-agent/pxp-agent.log.11.gz to /var/log/puppetlabs/pxp-agent/pxp-agent.log.12.gz (rotatecount 30, logstart 1, i 11),\nold log /var/log/puppetlabs/pxp-agent/pxp-agent.log.11.gz does not exist\nrenaming /var/log/puppetlabs/pxp-agent/pxp-agent.log.10.gz to /var/log/puppetlabs/pxp-agent/pxp-agent.log.11.gz (rotatecount 30, logstart 1, i 10),\nold log /var/log/puppetlabs/pxp-agent/pxp-agent.log.10.gz does not exist\nrenaming /var/log/puppetlabs/pxp-agent/pxp-agent.log.9.gz to /var/log/puppetlabs/pxp-agent/pxp-agent.log.10.gz (rotatecount 30, logstart 1, i 9),\nold log /var/log/puppetlabs/pxp-agent/pxp-agent.log.9.gz does not exist\nrenaming /var/log/puppetlabs/pxp-agent/pxp-agent.log.8.gz to /var/log/puppetlabs/pxp-agent/pxp-agent.log.9.gz (rotatecount 30, logstart 1, i 8),\nold log /var/log/puppetlabs/pxp-agent/pxp-agent.log.8.gz does not exist\nrenaming /var/log/puppetlabs/pxp-agent/pxp-agent.log.7.gz to /var/log/puppetlabs/pxp-agent/pxp-agent.log.8.gz (rotatecount 30, logstart 1, i 7),\nold log /var/log/puppetlabs/pxp-agent/pxp-agent.log.7.gz does not exist\nrenaming /var/log/puppetlabs/pxp-agent/pxp-agent.log.6.gz to /var/log/puppetlabs/pxp-agent/pxp-agent.log.7.gz (rotatecount 30, logstart 1, i 6),\nold log /var/log/puppetlabs/pxp-agent/pxp-agent.log.6.gz does not exist\nrenaming /var/log/puppetlabs/pxp-agent/pxp-agent.log.5.gz to /var/log/puppetlabs/pxp-agent/pxp-agent.log.6.gz (rotatecount 30, logstart 1, i 5),\nold log /var/log/puppetlabs/pxp-agent/pxp-agent.log.5.gz does not exist\nrenaming /var/log/puppetlabs/pxp-agent/pxp-agent.log.4.gz to /var/log/puppetlabs/pxp-agent/pxp-agent.log.5.gz (rotatecount 30, logstart 1, i 4),\nold log /var/log/puppetlabs/pxp-agent/pxp-agent.log.4.gz does not exist\nrenaming /var/log/puppetlabs/pxp-agent/pxp-agent.log.3.gz to /var/log/puppetlabs/pxp-agent/pxp-agent.log.4.gz (rotatecount 30, logstart 1, i 3),\nold log /var/log/puppetlabs/pxp-agent/pxp-agent.log.3.gz does not exist\nrenaming /var/log/puppetlabs/pxp-agent/pxp-agent.log.2.gz to /var/log/puppetlabs/pxp-agent/pxp-agent.log.3.gz (rotatecount 30, logstart 1, i 2),\nold log /var/log/puppetlabs/pxp-agent/pxp-agent.log.2.gz does not exist\nrenaming /var/log/puppetlabs/pxp-agent/pxp-agent.log.1.gz to /var/log/puppetlabs/pxp-agent/pxp-agent.log.2.gz (rotatecount 30, logstart 1, i 1),\nold log /var/log/puppetlabs/pxp-agent/pxp-agent.log.1.gz does not exist\nrenaming /var/log/puppetlabs/pxp-agent/pxp-agent.log.0.gz to /var/log/puppetlabs/pxp-agent/pxp-agent.log.1.gz (rotatecount 30, logstart 1, i 0),\nold log /var/log/puppetlabs/pxp-agent/pxp-agent.log.0.gz does not exist\nlog /var/log/puppetlabs/pxp-agent/pxp-agent.log.31.gz doesn't exist -- won't try to dispose of it\nrenaming /var/log/puppetlabs/pxp-agent/pxp-agent.log to /var/log/puppetlabs/pxp-agent/pxp-agent.log.1\nrunning postrotate script\ncompressing log with: /bin/gzip\n{noformat}\n\nBut, the {{pxp-agent}} daemon never receives a SIGUSR2 and is left writing to a rotated filename that was removed by {{gzip}}:\n\n{noformat}\n# ls -l /proc/$(systemctl show -p MainPID pxp-agent|cut -d= -f2)/fd\n\ntotal 0\nlr-x------ 1 root root 64 Mar 12 17:55 0 -> /dev/null\nlrwx------ 1 root root 64 Mar 12 17:55 1 -> socket:[22627]\nlrwx------ 1 root root 64 Mar 12 17:55 2 -> socket:[22627]\nl-wx------ 1 root root 64 Mar 12 17:55 3 -> /var/log/puppetlabs/pxp-agent/pxp-agent.log.1 (deleted)\nlrwx------ 1 root root 64 Mar 12 17:55 4 -> anon_inode:[eventfd]\nlrwx------ 1 root root 64 Mar 12 17:55 5 -> anon_inode:[eventpoll]\nlrwx------ 1 root root 64 Mar 12 17:55 6 -> anon_inode:[timerfd]\n{noformat}\n\nh3. Expected Outcome\n\nThe daemon should be writing to {{/var/log/puppetlabs/pxp-agent/pxp-agent.log}} after rotation is triggered:\n\n{noformat}\n# ls -l /proc/$(systemctl show -p MainPID pxp-agent|cut -d= -f2)/fd\n\ntotal 0\nlr-x------. 1 root root 64 Mar 12 17:17 0 -> /dev/null\nlrwx------. 1 root root 64 Mar 12 17:17 1 -> socket:[666596]\nlrwx------. 1 root root 64 Mar 12 17:17 2 -> socket:[666596]\nl-wx------. 1 root root 64 Mar 12 17:17 3 -> /var/log/puppetlabs/pxp-agent/pxp-agent.log\nlrwx------. 1 root root 64 Mar 12 17:17 4 -> anon_inode:[eventfd]\nlrwx------. 1 root root 64 Mar 12 17:17 5 -> anon_inode:[eventpoll]\nlrwx------. 1 root root 64 Mar 12 17:17 6 -> anon_inode:[timerfd]\nlrwx------. 1 root root 64 Mar 12 17:17 7 -> socket:[666604]\n{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31982", "fixedVersions": ["pxp-agent 1.5.7", "pxp-agent 1.8.3", "pxp-agent 1.9.1"], "id": "31982", "issueType": "Bug", "key": "PCP-834", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2018-04-03T10:04:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Logrotate doesn't work under systemd", "timeSpent": "PT0S", "updated": "2018-08-08T15:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Yes... why is the pid file missing? I believe that's how it's checking for a previous instance.", "created": "2018-03-01T14:56:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I'm open to suggestions on how to improve this, but I thought what we were doing - using a pid file to check for a prior process - was fairly standard.", "created": "2018-03-01T14:56:00.000000"}, {"author": "557058:f23b0b7f-9386-48b3-bd71-4399766356f4", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] - We're not sure why the pidfile is missing, but this doesn't happen with some of our other services.\u00a0 This doesn't happen with pe-puppetserver, for instance, because there's a separate mechanism to check for running processes beyond the pidfile and its contents:\n\n[https://github.com/puppetlabs/ezbake/blob/db74b11e18f6f6de72297f0ed526585dc210b62b/resources/puppetlabs/lein-ezbake/template/global/ext/redhat/init.erb#L49-L53]\n\nSimilarly, pe-activemq will recreate a pidfile if it finds that there's already a running process without a pidfile:\n{code:java}service pe-activemq start\nINFO: Loading '/etc/sysconfig/pe-activemq'\nINFO: Using java '/opt/puppetlabs/server/apps/java/lib/jvm/java/jre/bin/java'\nINFO: a new pidfile created for a running instance : '/var/run/puppetlabs/activemq/activemq.pid' (pid '31472')\nINFO: Process with pid '31472' is already running{code}", "created": "2018-03-01T15:29:00.000000"}, {"author": "557058:ab1874a9-45ab-4efc-91aa-5200c165b2c4", "body": "ok [~accountid:557058:f23b0b7f-9386-48b3-bd71-4399766356f4]'s comment mentioned Ubuntu 16.04 - might be a different issue?", "created": "2018-07-06T12:17:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "The only suggestion I can come up with is use systemd, or avoid remounting /var/run without restarting the service. I'm not sure what other options make sense. There is a {{pxp-agent --pidfile}} option if you need to use a different path that's not a tmpfs.", "created": "2018-07-06T14:31:00.000000"}, {"author": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "body": "[~accountid:5a6649d80f236c260941c7ee] This still needs tests, and verification on platforms other than Centos 6, but I was able to verify a fix for this issue in https://github.com/puppetlabs/pxp-agent/pull/738. Signing off for today, will add tests and manually verify on more platforms tomorrow.", "created": "2019-01-14T17:29:00.000000"}, {"author": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "body": "[~accountid:5a6649d80f236c260941c7ee] Yep - we're currently testing https://github.com/puppetlabs/pxp-agent/pull/738, mostly working out the acceptance test syntax. Once that's in it will go through the puppet agent promotion pipeline, and be included in the next puppet agent release!  We plan to tackle PCP-862 next and set a limit to the number of file descriptors, and start failing agents if it's getting too large. We have some prior art here where another tool sets the cap at 1200, so we'll start there and test it locally to see how it handles.\n\nPS I don't think this comment needs to be limited in visibility, but figured better safe than sorry. Let me know if you need me to change the permissions though :)", "created": "2019-01-15T14:03:00.000000"}, {"author": "623cfbe1ee1b5a007029bec2", "body": "In some environments, 1200 may be too low a number - for us, we're running > 1200 filedescriptors in use on each master for all the puppetserver functions exclusive of the pcpbroker.\u00a0 Would it be possible for the process to use a percentage of its ulimit as a ceiling (just as an idea)?\u00a0 That way it wouldn't have to be another tunable to manage.", "created": "2019-01-15T14:56:00.000000"}, {"author": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "body": "[~accountid:623cfbe1ee1b5a007029bec2] I'm so sorry - I had the number wrong - in the pe-puppetserver service, we set a default of 12000 file descriptors not 1200, so that's where we'd start. We think PCP-862 might be an issue with pxp-agent waiting for a response it will never get when it closes a connection though, so are going to try `disconnect` instead of `close when a connection is superseded before limiting the descriptors.", "created": "2019-01-16T16:40:00.000000"}, {"author": "623cfbe1ee1b5a007029bec2", "body": "Thanks!\u00a0 That makes sense.\u00a0\u00a0", "created": "2019-01-16T17:27:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe] please provide release notes for this issue if needed, thanks!", "created": "2019-02-14T07:46:00.000000"}], "components": [], "created": "2018-03-01T14:33:00.000000", "creator": "557058:f23b0b7f-9386-48b3-bd71-4399766356f4", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@389801fa"}, {"fieldName": "CS Business Value", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "4 - $$$$$"}, {"fieldName": "CS Frequency", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "1 - 1-5% of Customers"}, {"fieldName": "CS Impact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Unclear the impact of this beyond two running processes. More information needed on the impact of this. Does the broker flap between them? Do commands get executed twice? How does it end up without the PIDfile in the first place? "}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "CS Priority", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Normal"}, {"fieldName": "CS Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "2 - Annoyance"}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Customer Feedback"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hykjxj:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "This modifies the pxp-agent service to kill all pxp-agent processes when the service is restarted, rather than just the current pxp-agent process."}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "34307"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "01/Mar/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_507814924_*|*_1_*:*_1_*:*_425058262_*|*_10007_*:*_1_*:*_161472394_*|*_3_*:*_1_*:*_194657143_*|*_5_*:*_1_*:*_2338533978_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_16580603664_*|*_10005_*:*_1_*:*_10544123457"}], "description": "OS / Version: Confirmed in Centos 6.7 and SLES 11\nh4. Reproduction:\n{code:java}/opt/puppetlabs/puppet/bin/pxp-agent --version\n 1.8.1\n\n#pxp-agent process running normally:\n\nservice pxp-agent status\n pxp-agent (pid 16099) is running...\n\nrm /var/run/puppetlabs/pxp-agent.pid\n\nservice pxp-agent start\n Starting PXP agent: [ OK ]\n\nps aux | grep pxp-agent | grep -v grep\nroot 16099 1.6 0 1 379536 9776 ? Sl 21:21 0:02 /opt/puppetlabs/puppet/bin/pxp-agent\nroot 16297 9.9 0.0 379536 7744 ? Sl 21:23 0:02 /opt/puppetlabs/puppet/bin/pxp-agent\n{code}\nh4. Expected behavior:\n\nThe init script should only allow one running pxp-agent process\nh4. Actual behavior:\n\nWith a missing pidfile\u00a0the init script will start\u00a0another pxp-agent process", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31825", "fixedVersions": ["pxp-agent 1.10.5", "pxp-agent 1.11.0", "pxp-agent 1.9.7"], "id": "31825", "issueType": "Bug", "key": "PCP-833", "labels": ["resolved-issue-added"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:f23b0b7f-9386-48b3-bd71-4399766356f4", "resolution": "Fixed", "resolutionDate": "2019-01-24T11:15:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent init script will start more than one process if pidfile is missing", "timeSpent": "PT0S", "updated": "2019-12-05T09:26:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:4b02db91-705f-4691-a56a-9a839ecbce6e", "attachments": [], "comments": [{"author": "557058:4b02db91-705f-4691-a56a-9a839ecbce6e", "body": "Yes, that is the goal! I'm pushing to get this reviewed/merged asap", "created": "2018-04-03T11:03:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to 1.5.x in https://github.com/puppetlabs/pxp-agent/commit/3c383b46ce6daacadca419c33c2ad3e5db59e8cc", "created": "2018-04-03T21:25:00.000000"}, {"author": "557058:4b02db91-705f-4691-a56a-9a839ecbce6e", "body": "This has passed CI in puppet-agent 1.10.10.128.gb402130 !", "created": "2018-04-04T09:10:00.000000"}], "components": [], "created": "2018-02-05T11:05:00.000000", "creator": "557058:4b02db91-705f-4691-a56a-9a839ecbce6e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": ["Coremunity"]}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@33700aa1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-7432"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "No Action"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzk5pr:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Apr/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_42301163_*|*_1_*:*_1_*:*_1324012_*|*_10007_*:*_2_*:*_101351860_*|*_3_*:*_1_*:*_266693137_*|*_5_*:*_1_*:*_1203053073_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_4589031842"}], "epicLinkSummary": "Improve Beaker Workflow", "estimate": "PT0S", "externalId": "31824", "fixedVersions": ["pxp-agent 1.5.7", "pxp-agent 1.8.3", "pxp-agent 1.9.1"], "id": "31824", "issueType": "Task", "key": "PCP-832", "labels": [], "originalEstimate": "PT0S", "parent": "21910", "parentSummary": "Improve Beaker Workflow", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:4b02db91-705f-4691-a56a-9a839ecbce6e", "resolution": "Fixed", "resolutionDate": "2018-04-04T09:10:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add beaker-puppet dependency and switch acceptance tasks/utilities to those provided by beaker-puppet", "timeSpent": "PT0S", "updated": "2018-04-18T07:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "We did make a very rudimentary addition to help with this case via the max-connections property (see [https://github.com/puppetlabs/pcp-broker/blob/master/doc/configuration.md#service-configuration).] I wanted to have this set automatically once PE has some concept of how many nodes should be connected to each broker. Any connections in excess of the limit will be rejected, with the idea that they'll then go through the load balancer to connect to another node.\n\nLonger term we considered adding something in Orchestrator to tell brokers to re-balance when connections get imbalanced, since it keeps a full inventory. We haven't yet had demand to do that.", "created": "2018-02-05T13:10:00.000000"}], "components": ["pcp-broker", "pxp-agent"], "created": "2018-01-31T06:52:00.000000", "creator": "557058:b0000c48-c6a4-41b8-baf9-6d9c091a181c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@27dff7cc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzjnlz:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Feb/18"}], "description": "When a environment consists of multiple compile masters, a load balanced is used to balance PCP connections across them. However, due to the long lived state of these connections, there is a high likelihood of these connections becoming unbalanced across the CM farm.\n\nImagine for example the situation where you have just 2 compile masters, and one of them is rebooted. All agents will then connect to the other CM and STAY there. When the first CM comes back up, it has little to no agents to service. This doesn't fix itself by default and would need either node reboots, service restarts or admin intervention to resolve. And it then happens again when a CM gets rebooted, upgraded, etc.\n\nThere are manual ways of fixing this (like restarting the load balancer), but they are all either pretty rough on the system or require significant sysadmin effort to do in stages for reducing impact.\n\nAdmins should not have to nurse our system like this in order to maintain a balanced system. The system should have it's own ways of rebalancing connections. Possible solution directions could be:\n- Periodically tearing down and recreating the TCP connection from the agent to the broker, so the LB can pick the least-used master at that time\n- Having the broker inform some of its connected agents of it being in an unbalanced state, causing the agent to retry the connection, so the LB can route it to another broker.\n- Implementing a cluster-aware broker system that reroutes agents directly to the least-used master, removing the need for a load balancer at all.\n\nIdeally no operator intervention or additional configuration outside of pxp-agent should be required to ensure a balanced pool following broker recovery.", "environment": "Multiple compile master environments", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32181", "fixedVersions": [], "id": "32181", "issueType": "Improvement", "key": "PCP-831", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:b0000c48-c6a4-41b8-baf9-6d9c091a181c", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Implement a method for eventually-balanced connections across masters", "timeSpent": "PT0S", "updated": "2018-02-05T13:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "When you say modules, do you mean as documented at [https://github.com/puppetlabs/pxp-agent/tree/master/modules?|https://github.com/puppetlabs/pxp-agent/tree/master/modules] Can you expand on what you mean by \"direct feedback\"?", "created": "2018-02-05T10:49:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Or do you mean that [https://puppet.com/docs/pe/2017.3/orchestrator/orchestrator_api_commands_endpoint.html#post-command-task] wasn't documented, or doesn't return the raw results?", "created": "2018-02-05T11:13:00.000000"}, {"author": "6217ba0a71554c00695601a8", "body": "I am referring to the pxp module ([https://github.com/puppetlabs/pxp-agent/tree/master/modules).]\n\nFrom what I have learned from Application Orchestration it is possible to directly receive feedback on puppet agent runs.\n\nI am asking for the same direct output to be available for a pcp/pxp module execution.\n\nYou can also check our blog posting (scroll almost to the end where it reads \"ATTENTION\"): [https://www.example42.com/2018/01/29/remote_puppet_control/]\n\n\u00a0", "created": "2018-02-07T09:29:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Looking at your blog post, I'm not sure what you're looking for. A Task can be used to trigger a puppet run and view the results, as you've shown. We kept Deploy (Run Puppet in the Console) so as not to break something that already works, but considered rewriting it on top of tasks.\n\nThe primary differentiator of a Task versus a PXP module is that tasks handle distribution by retrieving them from a Puppet Master.\n\nA possible behavior I could envision is if you want to use asynchronous communication to immediately get a message when execution finishes. That isn't something we plan to add to Orchestrator right now, but if you want to interact with pcp-broker directly you can use [ruby-pcp-client|https://github.com/puppetlabs/ruby-pcp-client] or [clj-pcp-client|https://github.com/puppetlabs/clj-pcp-client] to send the appropriate PXP messages to run a PXP module as described in [pcp-specifications/pxp|https://github.com/puppetlabs/pcp-specifications/tree/master/pxp/versions/1.0].", "created": "2018-02-07T11:57:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Ah, at the very end of the blog you mention viewing runs in real-time. Supporting that from a module unfortunately requires some work in pxp-agent", "created": "2018-02-07T12:02:00.000000"}], "components": [], "created": "2018-01-28T05:50:00.000000", "creator": "6217ba0a71554c00695601a8", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Have a POST API to run individual PCP module using RBAC auth token and JSON payload."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@63dfda3f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzjkdz:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Feb/18"}], "description": "At the moment PCP/PXP is a black box. I would like to see a POST API (maybe on Orchestration API) to execute PCP modules.\nYes, this feature can be achieved by running tasks. The benefit of using PCP/PXP is that we get direct feedback from module output..", "environment": "Any PE Installation", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32180", "fixedVersions": [], "id": "32180", "issueType": "New Feature", "key": "PCP-830", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "6217ba0a71554c00695601a8", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add POST for running PCP modules to PCP/PXP to Puppet Server Orchestration API", "timeSpent": "PT0S", "updated": "2018-02-07T12:02:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:b72c16a2-594d-45f8-90bc-c6bc6c9510a8", "attachments": [], "comments": [], "components": [], "created": "2018-01-23T20:58:00.000000", "creator": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4f8ad4f6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzjgu7:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2301_*|*_5_*:*_1_*:*_1043851689_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_53534116"}], "description": "1) Check that the version number in source for cpp-pcp-client is correct\n\n  version for cpp-pcp-client should be 1.5.5\n\n  * check {{CMakeLists.txt}} for the {{project(cpp-pcp-client VERSION X.Y.Z)}} variable\n  * check {{locales/cpp-pcp-client.pot}} for the {{Project-Id-Version}} variable\n  * check {{CHANGELOG.md}} for relevant notes\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31553", "fixedVersions": ["cpp-pcp-client 1.5.5"], "id": "31553", "issueType": "Task", "key": "PCP-829", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "resolution": "Fixed", "resolutionDate": "2018-02-05T13:47:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Bump cpp-pcp-client version to 1.5.5", "timeSpent": "PT0S", "updated": "2018-02-05T13:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:b72c16a2-594d-45f8-90bc-c6bc6c9510a8", "attachments": [], "comments": [], "components": [], "created": "2018-01-23T20:57:00.000000", "creator": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3ac54238"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzjgtz:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2232_*|*_5_*:*_1_*:*_1048330279_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_49056884"}], "description": "1) Check that the version number in source for pxp-agent is correct\n\n  version for pxp-agent should be 1.5.6\n\n  * check {{CMakeLists.txt}} for the {{project(pxp-agent VERSION X.Y.Z)}} variable\n  * check {{locales/pxp-agent.pot}} for the {{Project-Id-Version}} variable\n  * check {{CHANGELOG.md}} for relevant notes\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32282", "fixedVersions": ["pxp-agent 1.5.6"], "id": "32282", "issueType": "Task", "key": "PCP-828", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "resolution": "Fixed", "resolutionDate": "2018-02-05T13:47:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Bump pxp-agent version to 1.5.6", "timeSpent": "PT0S", "updated": "2018-02-05T13:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:315adc9a-49dc-4753-86d1-4536fc30e3f3", "body": "We will use this ticket to track catching the exception and logging a more useful error message.", "created": "2018-01-16T10:24:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Validating this will need a custom Windows. We can probably manual do that by taking a Windows Server 2008 vmpooler image and uninstalling .NET Frameworks.", "created": "2018-01-17T16:21:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] please add release notes for this issue, if needed. Thanks!", "created": "2018-01-22T08:28:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Not sure whether this is better as a bug fix or known issue (or something else). I guess whoever works on docs can help figure that out.", "created": "2018-01-22T10:47:00.000000"}], "components": ["pxp-agent"], "created": "2018-01-05T12:07:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Check for the presence of .NET Framework 3.5+ - or catch exceptions loading the assembly - and give a more helpful error message stating that this functionality requires .NET Framework 3.5 or later."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@53540aac"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzj1h3:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Known Issue"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Tasks that use the powershell input method (which is the default for powershell scripts) require .NET Framework 3.5. PXP Agent will now give a clear error message when this requirement is not satisfied."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Jan/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_346563830_*|*_1_*:*_1_*:*_1050400544_*|*_10007_*:*_1_*:*_151097089_*|*_3_*:*_1_*:*_1005686_*|*_10009_*:*_1_*:*_21589_*|*_5_*:*_1_*:*_1055630457_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_85118568"}], "description": "Powershell tasks that use the default {{input_method}} or specify {{input_method=powershell}} fail unless .NET Framework 3.5 or later are present. The error looks like\n{code}\nTask exited 1:\nWrite-Error : Could not load file or assembly 'System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.\nAt C:\\\\Program Files\\\\Puppet Labs\\\\Puppet\\\\pxp-agent\\\\bin\\\\PowershellShim.ps1:21 char:14\n+   Write-Error <<<<  $_\n    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException\n    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Microsoft.PowerShell.Commands.WriteErrorCommand\n{code}\n\nThis dependency is difficult to remove, as we use it for handling JSON in powershell. This error message is not very helpful.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31981", "fixedVersions": ["pxp-agent 1.8.1"], "id": "31981", "issueType": "Bug", "key": "PCP-826", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2018-01-24T10:04:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Powershell tasks fail without .NET Framework 3.5 or later", "timeSpent": "PT0S", "updated": "2018-06-18T13:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I believe the acceptance test is sufficient verification of this issue.", "created": "2018-01-10T15:12:00.000000"}], "components": ["pxp-agent"], "created": "2018-01-02T15:07:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Files with CRLF line endings should be usable as tasks."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@22040c8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzixlb:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "PXP Agent will now correctly sync files using Windows line endings (CRLF)."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_436266738_*|*_1_*:*_1_*:*_124492_*|*_10007_*:*_1_*:*_158464501_*|*_10009_*:*_1_*:*_92756857_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_97102806_*|*_10006_*:*_1_*:*_176001"}], "description": "When trying to run a powershell task, Orchestrator gets an error\n{code}\n{\n  \"_error\" : {\n    \"msg\" : \"Failed to execute the task for the non blocking 'task run' request (transaction 5). Error: The downloaded init.ps1's sha differs from the provided sha\",\n    \"kind\" : \"puppetlabs.orchestrator/execution-failure\",\n    \"details\" : {\n      \"node\" : \"foo\"\n    }\n  }\n}\n{code}\n\nWe've tracked this down to happening when the task file has CRLF for line endings. Converting them to LF allows the file to run.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32281", "fixedVersions": ["pxp-agent 1.8.1"], "id": "32281", "issueType": "Bug", "key": "PCP-825", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2018-01-11T17:08:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent incorrectly hashes task files with Windows line endings", "timeSpent": "PT0S", "updated": "2018-06-18T13:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I still can't do much to debug this without grabbing the archive files that are being gathered.", "created": "2017-11-01T10:38:00.000000"}, {"author": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "body": "Closing this for now, as I don't think we've seen a recent recurrence.", "created": "2018-02-06T18:36:00.000000"}], "components": ["pxp-agent"], "created": "2017-10-31T12:58:00.000000", "creator": "557058:75cf0874-3831-4bb6-a7ff-b655ecaa1a81", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform puppet-agent"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2e150840"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-1021"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzhwj3:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "01/Nov/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_8491088534_*|*_6_*:*_1_*:*_0"}], "description": "We're seeing some transient failures of pxp-agent integration tests during high CI loads as follows:\n\nFailed run (includes failures from other bugs): https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppet-agent_puppet-agent-integration-suite_daily-master/8/\n\nSpecific cases on a few platforms:\n- [fedora26|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppet-agent_puppet-agent-integration-suite_daily-master/COMPONENT=pxp_agent,SLAVE_LABEL=beaker,TEST_TARGET=fedora26-64a/8/console]\n- [ubuntu1604|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppet-agent_puppet-agent-integration-suite_daily-master/8/COMPONENT=pxp_agent,SLAVE_LABEL=beaker,TEST_TARGET=ubuntu1604-32a/console]\n- [osx1011|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppet-agent_puppet-agent-integration-suite_daily-master/8/COMPONENT=pxp_agent,SLAVE_LABEL=beaker,TEST_TARGET=osx1011-64a/console]\n\nError output:\n{code}\n03:06:07 \n03:06:07 * Run pcp-broker on master in trapperkeeper in background and wait for it to report status 'running'\n03:06:07   \n03:06:07   vynpyh9sbn6yjkd.delivery.puppetlabs.net (redhat7-64-1) 10:06:07$ sed --in-place'' --regexp-extended 's/ssl-port:\\s?[0-9]+/ssl-port: 8142/' /opt/puppet-git-repos/pcp-broker0/test-resources/conf.d/webserver.conf\n03:06:07   \n03:06:07   vynpyh9sbn6yjkd.delivery.puppetlabs.net (redhat7-64-1) executed in 0.08 seconds\n03:06:07   \n03:06:07   vynpyh9sbn6yjkd.delivery.puppetlabs.net (redhat7-64-1) 10:06:07$ sed --in-place'' --regexp-extended 's/port\\s?=\\s?[0-9]+/port = 7888/' /opt/puppet-git-repos/pcp-broker0/test-resources/conf.d/nrepl.conf\n03:06:07   \n03:06:08   vynpyh9sbn6yjkd.delivery.puppetlabs.net (redhat7-64-1) executed in 0.12 seconds\n03:06:08   \n03:06:08   vynpyh9sbn6yjkd.delivery.puppetlabs.net (redhat7-64-1) 10:06:08$ sed --in-place'' --regexp-extended 's/ssl-port:\\s?[0-9]+/ssl-port: 8143/' /opt/puppet-git-repos/pcp-broker1/test-resources/conf.d/webserver.conf\n03:06:08   \n03:06:08   vynpyh9sbn6yjkd.delivery.puppetlabs.net (redhat7-64-1) executed in 0.09 seconds\n03:06:08   \n03:06:08   vynpyh9sbn6yjkd.delivery.puppetlabs.net (redhat7-64-1) 10:06:08$ sed --in-place'' --regexp-extended 's/port\\s?=\\s?[0-9]+/port = 7889/' /opt/puppet-git-repos/pcp-broker1/test-resources/conf.d/nrepl.conf\n03:06:08   \n03:06:08   vynpyh9sbn6yjkd.delivery.puppetlabs.net (redhat7-64-1) executed in 0.11 seconds\n03:06:08   \n03:06:08   vynpyh9sbn6yjkd.delivery.puppetlabs.net (redhat7-64-1) 10:06:08$ cd /opt/puppet-git-repos/pcp-broker0; export LEIN_ROOT=ok;      lein with-profile internal-mirrors tk </dev/null >/var/log/puppetlabs/pcp-broker.log.4641303f-f614-4ed7-ae41-88759a03ee67 2>&1 &\n03:06:08   \n03:06:08   vynpyh9sbn6yjkd.delivery.puppetlabs.net (redhat7-64-1) executed in 0.10 seconds\n03:06:08   Minitest::Assertion: pcp-broker port 8142 not open within 2 minutes of starting the broker\n03:08:08   /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/COMPONENT/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/osx1011-64a/acceptance/.bundle/gems/ruby/2.3.0/gems/minitest-5.10.3/lib/minitest/assertions.rb:139\n03:08:08   /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/COMPONENT/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/osx1011-64a/acceptance/lib/pxp-agent/test_helper.rb:67\n03:08:08   /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/COMPONENT/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/osx1011-64a/acceptance/setup/common/050_Setup_Broker.rb:67\n03:08:08   /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/COMPONENT/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/osx1011-64a/acceptance/.bundle/gems/ruby/2.3.0/gems/beaker-3.27.0/lib/beaker/dsl/structure.rb:44\n03:08:08   /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/COMPONENT/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/osx1011-64a/acceptance/setup/common/050_Setup_Broker.rb:61\n03:08:08   /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/COMPONENT/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/osx1011-64a/acceptance/.bundle/gems/ruby/2.3.0/gems/beaker-3.27.0/lib/beaker/test_case.rb:133\n03:08:08   /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/COMPONENT/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/osx1011-64a/acceptance/.bundle/gems/ruby/2.3.0/gems/beaker-3.27.0/lib/beaker/test_case.rb:133\n03:08:08   /usr/local/rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/benchmark.rb:308\n03:08:08   /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/COMPONENT/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/osx1011-64a/acceptance/.bundle/gems/ruby/2.3.0/gems/beaker-3.27.0/lib/beaker/test_case.rb:130\n03:08:08   /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/COMPONENT/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/osx1011-64a/acceptance/.bundle/gems/ruby/2.3.0/gems/beaker-3.27.0/lib/beaker/test_suite.rb:66\n03:08:08   /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/COMPONENT/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/osx1011-64a/acceptance/.bundle/gems/ruby/2.3.0/gems/beaker-3.27.0/lib/beaker/test_suite.rb:63\n03:08:08   /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/COMPONENT/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/osx1011-64a/acceptance/.bundle/gems/ruby/2.3.0/gems/beaker-3.27.0/lib/beaker/test_suite.rb:63\n03:08:08   /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/COMPONENT/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/osx1011-64a/acceptance/.bundle/gems/ruby/2.3.0/gems/beaker-3.27.0/lib/beaker/test_suite.rb:112\n03:08:08   /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/COMPONENT/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/osx1011-64a/acceptance/.bundle/gems/ruby/2.3.0/gems/beaker-3.27.0/lib/beaker/cli.rb:205\n03:08:08   /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/COMPONENT/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/osx1011-64a/acceptance/.bundle/gems/ruby/2.3.0/gems/beaker-3.27.0/lib/beaker/cli.rb:127\n03:08:08   /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/COMPONENT/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/osx1011-64a/acceptance/.bundle/gems/ruby/2.3.0/gems/beaker-3.27.0/bin/beaker:9\n03:08:08   /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/COMPONENT/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/osx1011-64a/acceptance/.bundle/gems/ruby/2.3.0/bin/beaker:23\n03:08:08   /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-master/COMPONENT/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/osx1011-64a/acceptance/.bundle/gems/ruby/2.3.0/bin/beaker:23\n03:08:08   Begin teardown\n03:08:08   End teardown\n03:08:08   setup/common/050_Setup_Broker.rb failed in 250.16 seconds\n03:08:08       Test Suite: pre_suite @ 2017-10-31 09:50:35 +0000\n{code}\n\n\n(This is similar to PCP-593, but that ticket is ancient)", "epicLinkSummary": "Platform OS Team - CI Blockers and Transients", "estimate": "PT0S", "externalId": "32277", "fixedVersions": [], "id": "32277", "issueType": "CI Blocker", "key": "PCP-821", "labels": ["transient"], "originalEstimate": "PT0S", "parent": "59209", "parentSummary": "Platform OS Team - CI Blockers and Transients", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:75cf0874-3831-4bb6-a7ff-b655ecaa1a81", "resolution": "Fixed", "resolutionDate": "2018-02-06T18:36:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Acceptance failure: pcp-broker port 8142 not open within 2 minutes of starting the broker", "timeSpent": "PT0S", "updated": "2018-02-06T18:36:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:5aed1ed3-f3b3-4dd3-bebb-5b3bf9907bc5", "body": "[~accountid:557058:315adc9a-49dc-4753-86d1-4536fc30e3f3] Hi!\nThis ticket was generated using the link on https://confluence.puppetlabs.com/display/ENG/Maintenance but has not been closed - How should we update the link on that page so that tickets made that way make it onto the regular PCP/PXP triage?", "created": "2017-11-13T11:07:00.000000"}], "components": [], "created": "2017-10-30T16:27:00.000000", "creator": "557058:5aed1ed3-f3b3-4dd3-bebb-5b3bf9907bc5", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2f97d10"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hykjx3:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3107465739_*|*_6_*:*_1_*:*_0"}], "description": "This ticket is just to verify that the Create Ticket link in https://confluence.puppetlabs.com/display/ENG/Maintenance is up to date. [http://24.media.tumblr.com/tumblr_m32m03lv8J1qivhiio1_400.gif] and close this ticket as proof that it made it to the correct triage board!", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32274", "fixedVersions": [], "id": "32274", "issueType": "Bug", "key": "PCP-820", "labels": ["cs_pr_review"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:5aed1ed3-f3b3-4dd3-bebb-5b3bf9907bc5", "resolution": "Incomplete", "resolutionDate": "2017-12-05T14:38:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Triage Test", "timeSpent": "PT0S", "updated": "2018-10-09T16:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Not clear what happened here. Normally the job should have some logs archived, but those appear to have been dropped when we moved to a single matrix job.", "created": "2017-10-30T10:20:00.000000"}, {"author": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "body": "Test removed in [https://github.com/puppetlabs/pxp-agent/pull/694.]\u00a0Closing.", "created": "2018-02-06T18:22:00.000000"}], "components": ["pxp-agent"], "created": "2017-10-29T13:43:00.000000", "creator": "557058:75cf0874-3831-4bb6-a7ff-b655ecaa1a81", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@67505922"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-1021"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzhu7b:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "30/Oct/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_8660307062_*|*_6_*:*_1_*:*_0"}], "description": "Windows hosts have been pretty flaky recently; I couldn't find another ticket for this specific case.\n\n*[Failed job|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppet-agent_puppet-agent-integration-suite_daily-5.3.x/COMPONENT=pxp_agent,SLAVE_LABEL=beaker,TEST_TARGET=windows2008r2-64a/9/]*\n\n*[Console output|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppet-agent_puppet-agent-integration-suite_daily-5.3.x/COMPONENT=pxp_agent,SLAVE_LABEL=beaker,TEST_TARGET=windows2008r2-64a/9/console]*\n\nError text:\n{code}\n  * restart each agent\n    \n    ck4yey6n4lprzgz.delivery.puppetlabs.net (windows2008r2-64-1) 06:39:37$ shutdown /f /r /t 0 /d p:4:1 /c \"Beaker::Host reboot command issued\"\n    \n    ck4yey6n4lprzgz.delivery.puppetlabs.net (windows2008r2-64-1) executed in 0.63 seconds\n    ssh connection to windows2008r2-64-1 has been terminated\n    \n    * wait until pxp-agent is back up and associated on ck4yey6n4lprzgz.delivery.puppetlabs.net\n      \n      ck4yey6n4lprzgz.delivery.puppetlabs.net (windows2008r2-64-1) 06:40:18$ #<Beaker::Command:0x000000057e87b8>\n        Trying command 30 times.\n      .        Attempting ssh connection to ck4yey6n4lprzgz.delivery.puppetlabs.net, user: Administrator, opts: {:config=>false, :paranoid=>false, :auth_methods=>[\"publickey\"], :port=>22, :forward_agent=>true, :keys=>[\"~/.ssh/id_rsa-acceptance\"], :user_known_hosts_file=>\"/var/lib/jenkins/.ssh/known_hosts\", :keepalive=>true, :logger=>#<Logger:0x000000039cf948 @progname=nil, @level=4, @default_formatter=#<Logger::Formatter:0x000000039cf920 @datetime_format=nil>, @formatter=nil, @logdev=#<Logger::LogDevice:0x000000039cf8a8 @shift_size=nil, @shift_age=nil, @filename=nil, @dev=#<IO:<STDERR>>, @mon_owner=nil, @mon_count=0, @mon_mutex=#<Thread::Mutex:0x000000039cf858>>>, :password_prompt=>#<Net::SSH::Prompt:0x000000039cf7b8>, :user=>\"Administrator\"}\n        Warning: Try 1 -- Host ck4yey6n4lprzgz.delivery.puppetlabs.net unreachable: Net::SSH::ConnectionTimeout - Net::SSH::ConnectionTimeout\n        Warning: Trying again in 3 seconds\n        Attempting ssh connection to ck4yey6n4lprzgz.delivery.puppetlabs.net, user: Administrator, opts: {:config=>false, :paranoid=>false, :auth_methods=>[\"publickey\"], :port=>22, :forward_agent=>true, :keys=>[\"~/.ssh/id_rsa-acceptance\"], :user_known_hosts_file=>\"/var/lib/jenkins/.ssh/known_hosts\", :keepalive=>true, :logger=>#<Logger:0x000000039cf948 @progname=nil, @level=4, @default_formatter=#<Logger::Formatter:0x000000039cf920 @datetime_format=nil>, @formatter=nil, @logdev=#<Logger::LogDevice:0x000000039cf8a8 @shift_size=nil, @shift_age=nil, @filename=nil, @dev=#<IO:<STDERR>>, @mon_owner=nil, @mon_count=0, @mon_mutex=#<Thread::Mutex:0x000000039cf858>>>, :password_prompt=>#<Net::SSH::Prompt:0x000000039cf7b8>, :user=>\"Administrator\"}\n      \n      ck4yey6n4lprzgz.delivery.puppetlabs.net (windows2008r2-64-1) 06:42:50$ #<Beaker::Command:0x000000057e87b8> ostensibly successful.\n  \n  * Send an rpc_blocking_request to all agents after reboot\n    RuntimeError: Exception occurred when trying to run Puppet on all agents: Didn't receive all PCP responses when requesting pxp-module-puppet run on [\"pcp://ck4yey6n4lprzgz.delivery.puppetlabs.net/agent\"]. Responses received were: {}\n    /tmp/jenkins/workspace/platform_puppet-agent_puppet-agent-integration-suite_daily-5.3.x/COMPONENT/pxp_agent/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/acceptance/tests/restart_host_run_puppet.rb:89\n{code}\n", "epicLinkSummary": "Platform OS Team - CI Blockers and Transients", "estimate": "PT0S", "externalId": "31737", "fixedVersions": ["pxp-agent 1.8.3"], "id": "31737", "issueType": "Bug", "key": "PCP-819", "labels": ["transient"], "originalEstimate": "PT0S", "parent": "59209", "parentSummary": "Platform OS Team - CI Blockers and Transients", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:75cf0874-3831-4bb6-a7ff-b655ecaa1a81", "resolution": "Fixed", "resolutionDate": "2018-02-06T18:22:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Windows agent fails to come back up in time during restart_host_run_puppet acceptance test", "timeSpent": "PT0S", "updated": "2018-04-09T12:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:b72c16a2-594d-45f8-90bc-c6bc6c9510a8", "attachments": [], "comments": [{"author": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "body": "Duplicate of PCP-816", "created": "2017-10-26T12:38:00.000000"}], "components": [], "created": "2017-10-25T17:18:00.000000", "creator": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@73822eb6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzhrhz:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "26/Oct/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2531_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_69607056"}], "description": "1) Check that the version number in source for cpp-pcp-client is correct\n\n  version for cpp-pcp-client should be 1.5.5\n\n  * check {{CMakeLists.txt}} for the {{project(cpp-pcp-client VERSION X.Y.Z)}} variable\n  * check {{locales/cpp-pcp-client.pot}} for the {{Project-Id-Version}} variable\n  * check {{CHANGELOG.md}} for relevant notes\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32053", "fixedVersions": ["cpp-pcp-client 1.5.5"], "id": "32053", "issueType": "Task", "key": "PCP-818", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "resolution": "Duplicate", "resolutionDate": "2017-10-26T12:38:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Bump cpp-pcp-client version to 1.5.5", "timeSpent": "PT0S", "updated": "2017-10-26T12:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:b72c16a2-594d-45f8-90bc-c6bc6c9510a8", "attachments": [], "comments": [{"author": "70121:b72c16a2-594d-45f8-90bc-c6bc6c9510a8", "body": "All 11 commits from 1.5.5 to 1.5.x are acceptance-related. We can pin this release back to the prior tag.", "created": "2017-10-26T16:10:00.000000"}], "components": [], "created": "2017-10-25T17:18:00.000000", "creator": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2f74b072"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzhrhj:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "26/Oct/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2833_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_82381131"}], "description": "1) Check that the version number in source for pxp-agent is correct\n\n  version for pxp-agent should be 1.5.6\n\n  * check {{CMakeLists.txt}} for the {{project(pxp-agent VERSION X.Y.Z)}} variable\n  * check {{locales/pxp-agent.pot}} for the {{Project-Id-Version}} variable\n  * check {{CHANGELOG.md}} for relevant notes\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31898", "fixedVersions": ["pxp-agent 1.5.6"], "id": "31898", "issueType": "Task", "key": "PCP-817", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "resolution": "Won't Do", "resolutionDate": "2017-10-26T16:11:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Bump pxp-agent version to 1.5.6", "timeSpent": "PT0S", "updated": "2017-10-26T16:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "attachments": [], "comments": [{"author": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "body": "Pinning this back to the previous tag of 1.5.4 instead because the new commits consist of fixes to Travis and the appropriate merge commits.", "created": "2017-10-26T12:01:00.000000"}], "components": [], "created": "2017-10-25T16:00:00.000000", "creator": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1c5bf413"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzhr9z:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "26/Oct/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_98293_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_71941572"}], "description": "1) Check that the version number in source for cpp-pcp-client is correct\n\n  version for cpp-pcp-client should be 1.5.5\n\n  * check {{CMakeLists.txt}} for the {{project(cpp-pcp-client VERSION X.Y.Z)}} variable\n  * check {{locales/cpp-pcp-client.pot}} for the {{Project-Id-Version}} variable\n  * check {{CHANGELOG.md}} for relevant notes\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31552", "fixedVersions": ["cpp-pcp-client 1.5.5"], "id": "31552", "issueType": "Task", "key": "PCP-816", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "resolution": "Won't Do", "resolutionDate": "2017-10-26T12:01:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Bump Cpp-pcp-client to 1.5.5", "timeSpent": "PT0S", "updated": "2017-10-26T12:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "attachments": [], "comments": [{"author": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "body": "Pinning this back to the previous tag of 1.8.0 because the new commits consist of fixes to the acceptance tests.", "created": "2017-10-26T11:53:00.000000"}], "components": [], "created": "2017-10-25T15:42:00.000000", "creator": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@54520a2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzhr8n:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "26/Oct/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_160629_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_72522285"}], "description": "1) Check that the version number in source for pxp-agent is correct\n\n  version for pxp-agent should be 1.8.1\n\n  * check {{CMakeLists.txt}} for the {{project(pxp-agent VERSION X.Y.Z)}} variable\n  * check {{locales/pxp-agent.pot}} for the {{Project-Id-Version}} variable\n  * check {{CHANGELOG.md}} for relevant notes\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31897", "fixedVersions": ["pxp-agent 1.8.1"], "id": "31897", "issueType": "Task", "key": "PCP-815", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "resolution": "Won't Do", "resolutionDate": "2017-10-26T11:53:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Bump pxp-agent version to 1.8.1", "timeSpent": "PT0S", "updated": "2017-10-26T11:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:09fbcf8b-9ff4-4dee-a188-c3fb45897af4", "attachments": [], "comments": [{"author": "557058:adac4e58-01ac-4fce-8be9-94131c26c73d", "body": "If they're sensitive would they have REDACTED logged?", "created": "2018-02-20T07:50:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "We could do that. They're only used for debugging currently, and some details might be better than none.", "created": "2018-02-20T10:28:00.000000"}, {"author": "557058:09fbcf8b-9ff4-4dee-a188-c3fb45897af4", "body": "I'm getting this error trying to install Leatherman, so I wasn't able to run any of the code locally:\n{noformat}[ 23%] Building CXX object json_container/CMakeFiles/leatherman_json_container.dir/src/json_container.cc.o\nIn file included from /Users/scott.mcclellan/IdeaProjects/leatherman/json_container/src/json_container.cc:4:\nIn file included from /Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/document.h:20:\nIn file included from /Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/reader.h:23:\n/Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/internal/stack.h:38:5: error: macro expansion producing 'defined' has undefined behavior [-Werror,-Wexpansion-to-defined]\n#if RAPIDJSON_HAS_CXX11_RVALUE_REFS\n    ^\n/Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/internal/../rapidjson.h:442:6: note: expanded from macro 'RAPIDJSON_HAS_CXX11_RVALUE_REFS'\n    (defined(_LIBCPP_VERSION) || defined(__GLIBCXX__) && __GLIBCXX__ >= 20080306)\n     ^\nIn file included from /Users/scott.mcclellan/IdeaProjects/leatherman/json_container/src/json_container.cc:4:\nIn file included from /Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/document.h:20:\nIn file included from /Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/reader.h:23:\n/Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/internal/stack.h:38:5: error: macro expansion producing 'defined' has undefined behavior [-Werror,-Wexpansion-to-defined]\n/Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/internal/../rapidjson.h:442:34: note: expanded from macro 'RAPIDJSON_HAS_CXX11_RVALUE_REFS'\n    (defined(_LIBCPP_VERSION) || defined(__GLIBCXX__) && __GLIBCXX__ >= 20080306)\n                                 ^\nIn file included from /Users/scott.mcclellan/IdeaProjects/leatherman/json_container/src/json_container.cc:4:\nIn file included from /Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/document.h:20:\nIn file included from /Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/reader.h:23:\n/Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/internal/stack.h:60:5: error: macro expansion producing 'defined' has undefined behavior [-Werror,-Wexpansion-to-defined]\n#if RAPIDJSON_HAS_CXX11_RVALUE_REFS\n    ^\n/Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/internal/../rapidjson.h:442:6: note: expanded from macro 'RAPIDJSON_HAS_CXX11_RVALUE_REFS'\n    (defined(_LIBCPP_VERSION) || defined(__GLIBCXX__) && __GLIBCXX__ >= 20080306)\n     ^\nIn file included from /Users/scott.mcclellan/IdeaProjects/leatherman/json_container/src/json_container.cc:4:\nIn file included from /Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/document.h:20:\nIn file included from /Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/reader.h:23:\n/Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/internal/stack.h:60:5: error: macro expansion producing 'defined' has undefined behavior [-Werror,-Wexpansion-to-defined]\n/Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/internal/../rapidjson.h:442:34: note: expanded from macro 'RAPIDJSON_HAS_CXX11_RVALUE_REFS'\n    (defined(_LIBCPP_VERSION) || defined(__GLIBCXX__) && __GLIBCXX__ >= 20080306)\n                                 ^\nIn file included from /Users/scott.mcclellan/IdeaProjects/leatherman/json_container/src/json_container.cc:4:\n/Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/document.h:62:5: error: macro expansion producing 'defined' has undefined behavior [-Werror,-Wexpansion-to-defined]\n#if RAPIDJSON_HAS_CXX11_RVALUE_REFS\n    ^\n/Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/error/../rapidjson.h:442:6: note: expanded from macro 'RAPIDJSON_HAS_CXX11_RVALUE_REFS'\n    (defined(_LIBCPP_VERSION) || defined(__GLIBCXX__) && __GLIBCXX__ >= 20080306)\n     ^\nIn file included from /Users/scott.mcclellan/IdeaProjects/leatherman/json_container/src/json_container.cc:4:\n/Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/document.h:62:5: error: macro expansion producing 'defined' has undefined behavior [-Werror,-Wexpansion-to-defined]\n/Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/error/../rapidjson.h:442:34: note: expanded from macro 'RAPIDJSON_HAS_CXX11_RVALUE_REFS'\n    (defined(_LIBCPP_VERSION) || defined(__GLIBCXX__) && __GLIBCXX__ >= 20080306)\n                                 ^\nIn file included from /Users/scott.mcclellan/IdeaProjects/leatherman/json_container/src/json_container.cc:4:\n/Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/document.h:438:5: error: macro expansion producing 'defined' has undefined behavior [-Werror,-Wexpansion-to-defined]\n#if RAPIDJSON_HAS_CXX11_RVALUE_REFS\n    ^\n/Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/error/../rapidjson.h:442:6: note: expanded from macro 'RAPIDJSON_HAS_CXX11_RVALUE_REFS'\n    (defined(_LIBCPP_VERSION) || defined(__GLIBCXX__) && __GLIBCXX__ >= 20080306)\n     ^\nIn file included from /Users/scott.mcclellan/IdeaProjects/leatherman/json_container/src/json_container.cc:4:\n/Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/document.h:438:5: error: macro expansion producing 'defined' has undefined behavior [-Werror,-Wexpansion-to-defined]\n/Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/error/../rapidjson.h:442:34: note: expanded from macro 'RAPIDJSON_HAS_CXX11_RVALUE_REFS'\n    (defined(_LIBCPP_VERSION) || defined(__GLIBCXX__) && __GLIBCXX__ >= 20080306)\n                                 ^\nIn file included from /Users/scott.mcclellan/IdeaProjects/leatherman/json_container/src/json_container.cc:4:\n/Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/document.h:600:5: error: macro expansion producing 'defined' has undefined behavior [-Werror,-Wexpansion-to-defined]\n#if RAPIDJSON_HAS_CXX11_RVALUE_REFS\n    ^\n/Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/error/../rapidjson.h:442:6: note: expanded from macro 'RAPIDJSON_HAS_CXX11_RVALUE_REFS'\n    (defined(_LIBCPP_VERSION) || defined(__GLIBCXX__) && __GLIBCXX__ >= 20080306)\n     ^\nIn file included from /Users/scott.mcclellan/IdeaProjects/leatherman/json_container/src/json_container.cc:4:\n/Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/document.h:600:5: error: macro expansion producing 'defined' has undefined behavior [-Werror,-Wexpansion-to-defined]\n/Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/error/../rapidjson.h:442:34: note: expanded from macro 'RAPIDJSON_HAS_CXX11_RVALUE_REFS'\n    (defined(_LIBCPP_VERSION) || defined(__GLIBCXX__) && __GLIBCXX__ >= 20080306)\n                                 ^\nIn file included from /Users/scott.mcclellan/IdeaProjects/leatherman/json_container/src/json_container.cc:4:\n/Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/document.h:1042:5: error: macro expansion producing 'defined' has undefined behavior [-Werror,-Wexpansion-to-defined]\n#if RAPIDJSON_HAS_CXX11_RVALUE_REFS\n    ^\n/Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/error/../rapidjson.h:442:6: note: expanded from macro 'RAPIDJSON_HAS_CXX11_RVALUE_REFS'\n    (defined(_LIBCPP_VERSION) || defined(__GLIBCXX__) && __GLIBCXX__ >= 20080306)\n     ^\nIn file included from /Users/scott.mcclellan/IdeaProjects/leatherman/json_container/src/json_container.cc:4:\n/Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/document.h:1042:5: error: macro expansion producing 'defined' has undefined behavior [-Werror,-Wexpansion-to-defined]\n/Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/error/../rapidjson.h:442:34: note: expanded from macro 'RAPIDJSON_HAS_CXX11_RVALUE_REFS'\n    (defined(_LIBCPP_VERSION) || defined(__GLIBCXX__) && __GLIBCXX__ >= 20080306)\n                                 ^\nIn file included from /Users/scott.mcclellan/IdeaProjects/leatherman/json_container/src/json_container.cc:4:\n/Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/document.h:1303:5: error: macro expansion producing 'defined' has undefined behavior [-Werror,-Wexpansion-to-defined]\n#if RAPIDJSON_HAS_CXX11_RVALUE_REFS\n    ^\n/Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/error/../rapidjson.h:442:6: note: expanded from macro 'RAPIDJSON_HAS_CXX11_RVALUE_REFS'\n    (defined(_LIBCPP_VERSION) || defined(__GLIBCXX__) && __GLIBCXX__ >= 20080306)\n     ^\nIn file included from /Users/scott.mcclellan/IdeaProjects/leatherman/json_container/src/json_container.cc:4:\n/Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/document.h:1303:5: error: macro expansion producing 'defined' has undefined behavior [-Werror,-Wexpansion-to-defined]\n/Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/error/../rapidjson.h:442:34: note: expanded from macro 'RAPIDJSON_HAS_CXX11_RVALUE_REFS'\n    (defined(_LIBCPP_VERSION) || defined(__GLIBCXX__) && __GLIBCXX__ >= 20080306)\n                                 ^\nIn file included from /Users/scott.mcclellan/IdeaProjects/leatherman/json_container/src/json_container.cc:4:\n/Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/document.h:1738:5: error: macro expansion producing 'defined' has undefined behavior [-Werror,-Wexpansion-to-defined]\n#if RAPIDJSON_HAS_CXX11_RVALUE_REFS\n    ^\n/Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/error/../rapidjson.h:442:6: note: expanded from macro 'RAPIDJSON_HAS_CXX11_RVALUE_REFS'\n    (defined(_LIBCPP_VERSION) || defined(__GLIBCXX__) && __GLIBCXX__ >= 20080306)\n     ^\nIn file included from /Users/scott.mcclellan/IdeaProjects/leatherman/json_container/src/json_container.cc:4:\n/Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/document.h:1738:5: error: macro expansion producing 'defined' has undefined behavior [-Werror,-Wexpansion-to-defined]\n/Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/error/../rapidjson.h:442:34: note: expanded from macro 'RAPIDJSON_HAS_CXX11_RVALUE_REFS'\n    (defined(_LIBCPP_VERSION) || defined(__GLIBCXX__) && __GLIBCXX__ >= 20080306)\n                                 ^\nIn file included from /Users/scott.mcclellan/IdeaProjects/leatherman/json_container/src/json_container.cc:4:\n/Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/document.h:1757:5: error: macro expansion producing 'defined' has undefined behavior [-Werror,-Wexpansion-to-defined]\n#if RAPIDJSON_HAS_CXX11_RVALUE_REFS\n    ^\n/Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/error/../rapidjson.h:442:6: note: expanded from macro 'RAPIDJSON_HAS_CXX11_RVALUE_REFS'\n    (defined(_LIBCPP_VERSION) || defined(__GLIBCXX__) && __GLIBCXX__ >= 20080306)\n     ^\nIn file included from /Users/scott.mcclellan/IdeaProjects/leatherman/json_container/src/json_container.cc:4:\n/Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/document.h:1757:5: error: macro expansion producing 'defined' has undefined behavior [-Werror,-Wexpansion-to-defined]\n/Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/error/../rapidjson.h:442:34: note: expanded from macro 'RAPIDJSON_HAS_CXX11_RVALUE_REFS'\n    (defined(_LIBCPP_VERSION) || defined(__GLIBCXX__) && __GLIBCXX__ >= 20080306)\n                                 ^\nIn file included from /Users/scott.mcclellan/IdeaProjects/leatherman/json_container/src/json_container.cc:5:\n/Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/stringbuffer.h:20:5: error: macro expansion producing 'defined' has undefined behavior [-Werror,-Wexpansion-to-defined]\n#if RAPIDJSON_HAS_CXX11_RVALUE_REFS\n    ^\n/Users/scott.mcclellan/IdeaProjects/leatherman/build/src/rapidjson/include/rapidjson/error/../rapidjson.h:442:6: note: expanded from macro 'RAPIDJSON_HAS_CXX11_RVALUE_REFS'\n    (defined(_LIBCPP_VERSION) || defined(__GLIBCXX__) && __GLIBCXX__ >= 20080306)\n     ^\nfatal error: too many errors emitted, stopping now [-ferror-limit=]\n20 errors generated.\nmake[2]: *** [json_container/CMakeFiles/leatherman_json_container.dir/src/json_container.cc.o] Error 1\nmake[1]: *** [json_container/CMakeFiles/leatherman_json_container.dir/all] Error 2\nmake: *** [all] Error 2{noformat}\nNonetheless, I put up this PR:\u00a0[https://github.com/puppetlabs/pxp-agent/pull/742]", "created": "2019-04-08T22:41:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Looks like a new warning in clang. Try adding {{-DCMAKE_CXX_FLAGS=-Wno-expansion-to-defined}} when running {{cmake}}.\n\nOr build it with puppet-agent.", "created": "2019-04-09T10:35:00.000000"}, {"author": "557058:09fbcf8b-9ff4-4dee-a188-c3fb45897af4", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] That fixed the issue for me. Should that addition live in docs or code?", "created": "2019-04-09T14:44:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Probably added to leatherman, either as preprocessor pragmas to disable the warning or a CXX flag.", "created": "2019-04-09T14:53:00.000000"}, {"author": "557058:09fbcf8b-9ff4-4dee-a188-c3fb45897af4", "body": "Should cpp-hocon be listed as a dependency? I'm seeing this now when I run cmake:\n{code:java}\nCMake Error at /usr/local/Cellar/cmake/3.14.1/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:137 (message):\n\u00a0 cpp-hocon was not found.\u00a0 (missing: CPPHOCON_LIBRARY CPPHOCON_INCLUDE_DIR)\nCall Stack (most recent call first):\n\u00a0 /usr/local/Cellar/cmake/3.14.1/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)\n\u00a0 vendor/FindDependency.cmake:28 (find_package_handle_standard_args)\n\u00a0 cmake/FindCPPHOCON.cmake:2 (find_dependency)\n\u00a0 CMakeLists.txt:66 (find_package) {code}\nThen when trying to build cpp-hocon:\n{code:java}\n[\u00a0 1%] Building CXX object lib/CMakeFiles/libprojectsrc.dir/src/values/config_object.cc.o\nIn file included from /Users/scott.mcclellan/IdeaProjects/cpp-hocon/lib/src/values/config_object.cc:1:\nIn file included from /Users/scott.mcclellan/IdeaProjects/cpp-hocon/lib/inc/hocon/config_object.hpp:3:\nIn file included from /Users/scott.mcclellan/IdeaProjects/cpp-hocon/lib/inc/hocon/config_value.hpp:4:\nIn file included from /Users/scott.mcclellan/IdeaProjects/cpp-hocon/lib/inc/hocon/config_origin.hpp:3:\nIn file included from /Users/scott.mcclellan/IdeaProjects/cpp-hocon/lib/inc/hocon/types.hpp:3:\n/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:3706:5: error: destructor called on non-final 'hocon::config_delayed_merge_object' that has virtual functions but non-virtual\n\u00a0 \u00a0 \u00a0 destructor [-Werror,-Wdelete-non-virtual-dtor]\n\u00a0 \u00a0 __data_.second().~_Tp()", "created": "2019-04-09T17:41:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "cpp-hocon is a dependency of pxp-agent.\n\nLooks like another new warning. That looks like it needs a fix for the destructor (either the class needs to be {{final}} or the destructor needs to be {{virtual}}. You can also work around it with {{-Wno-delete-non-virtual-dtor}} in {{CMAKE_CXX_FLAGS}}.\n\nThe key to reading these is the {{[-Werror,-Wdelete-non-virtual-dtor]}}, which states that it's failing because we've defined {{-Werror}} to say \"all warnings should cause compilation to fail\", and then the specific warning that's causing it which we enable with {{-Wall}} somewhere.", "created": "2019-04-09T18:14:00.000000"}, {"author": "557058:adac4e58-01ac-4fce-8be9-94131c26c73d", "body": "[~accountid:557058:09fbcf8b-9ff4-4dee-a188-c3fb45897af4] hey what version is this going out in?", "created": "2019-04-24T11:50:00.000000"}, {"author": "557058:09fbcf8b-9ff4-4dee-a188-c3fb45897af4", "body": "[~accountid:557058:adac4e58-01ac-4fce-8be9-94131c26c73d] It should be 1.9.8 (next tag in pxp-agent).", "created": "2019-04-24T11:55:00.000000"}], "components": ["pxp-agent"], "created": "2017-10-24T11:31:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4fa0bd99"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hykkjb:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Security Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "pxp-agent parameters will no longer be logged or written to disk."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "34049"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/Feb/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_522839173_*|*_1_*:*_1_*:*_42959227940_*|*_10007_*:*_2_*:*_692216292_*|*_3_*:*_2_*:*_2588165707_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_498649199"}], "description": "Parameters may be sensitive, so avoid writing them to spool-dir and logging at info level.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31896", "fixedVersions": ["pxp-agent 1.10.7", "pxp-agent 1.11.2", "pxp-agent 1.9.10"], "id": "31896", "issueType": "Improvement", "key": "PCP-814", "labels": ["resolved-issue-added"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2019-04-24T11:36:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Stop writing parameters for task execution to disk", "timeSpent": "PT0S", "updated": "2019-12-05T09:26:00.000000", "votes": "2", "watchers": []}, {"affectedVersions": [], "assignee": "557058:745e5b4d-58ed-48ed-8daa-afe8b66453a1", "attachments": [], "comments": [{"author": "557058:745e5b4d-58ed-48ed-8daa-afe8b66453a1", "body": "Note: give til Monday 2018/01/21 to see the revised version.\n\nI added the info about these parameters to the table on this page: http://www-aio01-dev.aws.puppetlabs.com/docs/pe/2017.3.3/configuring/config_orchestration.html#configure-the-orchestrator-and-pe-orchestration-services\n\nPlease provide feedback - I was piecing together info from a couple of different sources. One thing I'm not clear on - is there a default of 2 weeks for unused tasks getting purged, and this is where people can set a different length of time? Or do they have to set this for any purging at all?", "created": "2018-01-19T17:25:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Maybe we should just close this ticket and deal with it as part of PE-22959. It's getting confusing keeping track of work across products.", "created": "2018-01-23T12:25:00.000000"}, {"author": "557058:745e5b4d-58ed-48ed-8daa-afe8b66453a1", "body": "I edited the description as described above, and now this is only on Irving, and not 2017.3.3.", "created": "2018-01-29T13:48:00.000000"}], "components": ["pxp-agent"], "created": "2017-10-24T10:44:00.000000", "creator": "557058:315adc9a-49dc-4753-86d1-4536fc30e3f3", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@efa5a1e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzhoen:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/Jan/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_4196450237_*|*_3_*:*_1_*:*_3348035359_*|*_10009_*:*_1_*:*_578282674_*|*_5_*:*_1_*:*_0"}], "description": "Document how to configure this setting at https://puppet.com/docs/pe/2017.3/configuring/config_orchestration.html#configure-the-orchestrator-and-pe-orchestration-services via puppet_enterprise profiles.\n\nNote that this won't be present in PE 2017.3, but a future release of PE.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32052", "fixedVersions": [], "id": "32052", "issueType": "Sub-task", "key": "PCP-813", "labels": [], "originalEstimate": "PT0S", "parent": "32075", "parentSummary": "Remove old tasks from pxp-agent cache", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:315adc9a-49dc-4753-86d1-4536fc30e3f3", "resolution": "Fixed", "resolutionDate": "2018-01-26T10:03:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "DOCS", "timeSpent": "PT0S", "updated": "2018-06-18T13:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:669d4655-0c85-469a-a11c-e5290cf2955d", "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2017-10-24T10:44:00.000000", "creator": "557058:315adc9a-49dc-4753-86d1-4536fc30e3f3", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2572cdd2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzhoef:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3215594446_*|*_3_*:*_1_*:*_3940101_*|*_5_*:*_1_*:*_0"}], "description": "Document test cases that can be performed manually on upgrade of SRE instance", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31980", "fixedVersions": [], "id": "31980", "issueType": "Sub-task", "key": "PCP-812", "labels": [], "originalEstimate": "PT0S", "parent": "32075", "parentSummary": "Remove old tasks from pxp-agent cache", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:315adc9a-49dc-4753-86d1-4536fc30e3f3", "resolution": "Fixed", "resolutionDate": "2017-11-30T16:03:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Exploratory testing", "timeSpent": "PT0S", "updated": "2018-06-18T13:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:669d4655-0c85-469a-a11c-e5290cf2955d", "attachments": [], "comments": [{"author": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "body": "I believe we may be seeing related pxp-agent acceptance test failures on all macOS variants in the puppet-agent#master suite pipeline. ([link to one of the failing jobs | https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppet-agent_puppet-agent-integration-suite_daily-master/42/COMPONENT=pxp_agent,SLAVE_LABEL=beaker,TEST_TARGET=osx1010-64a/testReport/junit/(root)/tests_tasks/task_purged_from_cache_rb/]). \n\n/cc [~accountid:557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20]\n\n", "created": "2017-12-13T08:56:00.000000"}, {"author": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "body": "That's a new test so it seems likely. ", "created": "2017-12-13T09:52:00.000000"}, {"author": "557058:669d4655-0c85-469a-a11c-e5290cf2955d", "body": "It looks like there is an extra slash in the osx path.  Testing a PR now", "created": "2017-12-13T10:58:00.000000"}], "components": ["pxp-agent"], "created": "2017-10-24T10:44:00.000000", "creator": "557058:315adc9a-49dc-4753-86d1-4536fc30e3f3", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3984006a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzhoe7:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Dec/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_169631296_*|*_1_*:*_1_*:*_2426052756_*|*_10007_*:*_2_*:*_1025389692_*|*_3_*:*_2_*:*_793721955_*|*_4_*:*_1_*:*_4244733_*|*_5_*:*_2_*:*_77612954"}], "description": "Strategy\n* Move modify time of file\n* Test that cache is cleaned up on startup", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31895", "fixedVersions": [], "id": "31895", "issueType": "Sub-task", "key": "PCP-811", "labels": [], "originalEstimate": "PT0S", "parent": "32075", "parentSummary": "Remove old tasks from pxp-agent cache", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:315adc9a-49dc-4753-86d1-4536fc30e3f3", "resolution": "Fixed", "resolutionDate": "2017-12-15T10:48:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Acceptance tests", "timeSpent": "PT0S", "updated": "2018-06-18T13:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2017-10-24T10:43:00.000000", "creator": "557058:315adc9a-49dc-4753-86d1-4536fc30e3f3", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5f0e85a6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzhodz:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/Nov/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_557485605_*|*_1_*:*_1_*:*_2442365523_*|*_10007_*:*_1_*:*_217564503_*|*_3_*:*_1_*:*_2130649_*|*_5_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31748", "fixedVersions": [], "id": "31748", "issueType": "Sub-task", "key": "PCP-810", "labels": [], "originalEstimate": "PT0S", "parent": "32075", "parentSummary": "Remove old tasks from pxp-agent cache", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:315adc9a-49dc-4753-86d1-4536fc30e3f3", "resolution": "Fixed", "resolutionDate": "2017-11-30T16:02:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Update enterprise module", "timeSpent": "PT0S", "updated": "2018-06-18T13:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2017-10-24T10:42:00.000000", "creator": "557058:315adc9a-49dc-4753-86d1-4536fc30e3f3", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@687aed3b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzhodj:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_333990769_*|*_1_*:*_1_*:*_1227306141_*|*_10007_*:*_1_*:*_784070709_*|*_3_*:*_1_*:*_78002669_*|*_5_*:*_1_*:*_10288980672_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_2124317"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31621", "fixedVersions": ["pxp-agent 1.9.0"], "id": "31621", "issueType": "Sub-task", "key": "PCP-809", "labels": [], "originalEstimate": "PT0S", "parent": "32075", "parentSummary": "Remove old tasks from pxp-agent cache", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:315adc9a-49dc-4753-86d1-4536fc30e3f3", "resolution": "Fixed", "resolutionDate": "2017-11-21T11:27:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Implementation", "timeSpent": "PT0S", "updated": "2018-06-18T13:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2017-10-16T11:29:00.000000", "creator": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform puppet-agent"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5b0c992c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyle4v:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_94598038_*|*_1_*:*_1_*:*_4460650_*|*_3_*:*_1_*:*_9960220_*|*_5_*:*_1_*:*_13293858460_*|*_6_*:*_1_*:*_0"}], "description": "Link to the failing jobs:\nhttps://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/master/view/Non-Standard/job/platform_puppet-agent_intn-van-sys_suite-secondary-pxp-agent-master/24/\n\nhttps://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/master/view/Suite/job/platform_puppet-agent_integration-vanagon-suite-daily-master/COMPONENT=pxp_agent,SLAVE_LABEL=beaker,TEST_TARGET=arista4-32a/\n\nRelevant part of the output (Arista):\n{code}\n10:04:56     * Attempt start of pxp-agent as non-root user\n10:04:56       localhost $ scp /tmp/beaker20171016-564-d7jnjg arista4-32-1:/foo/.puppetlabs/etc/pxp-agent/pxp-agent.conf {:ignore => }\n10:04:56       \n10:04:56       mb735gds75mpxf7.delivery.puppetlabs.net (arista4-32-1) 17:04:56$ chown -R foo:foo /foo\n10:04:56       \n10:04:56       mb735gds75mpxf7.delivery.puppetlabs.net (arista4-32-1) executed in 0.08 seconds\n10:04:56       \n10:04:56       mb735gds75mpxf7.delivery.puppetlabs.net (arista4-32-1) 17:04:56$ su -l foo -c \"/opt/puppetlabs/puppet/bin/pxp-agent\"\n10:04:56         su:         warning: cannot change directory to /home/foo        : No such file or directory\n10:04:56         Authorization denied: Cannot authorize shell for unknown uid 64915131\n10:04:56       \n10:04:56       mb735gds75mpxf7.delivery.puppetlabs.net (arista4-32-1) executed in 0.27 seconds\n10:04:56       Exited: 1\n10:04:56       Minitest::Assertion: The expected exit code was not observed \n10:04:56        su: warning: cannot change directory to /home/foo: No such file or directory\n10:04:56       Authorization denied: Cannot authorize shell for unknown uid 64915131\n10:04:56       .\n10:04:56       Expected: 0\n10:04:56         Actual: 1\n{code}\n\nRelevant part of the output (AIX):\n{code}\n23:20:38       * Attempt start of pxp-agent as non-root user\n23:20:38         localhost $ scp /tmp/beaker20171014-537-1ffc0ue aix71-POWER-1:/foo/.puppetlabs/etc/pxp-agent/pxp-agent.conf {:ignore => }\n23:20:38         \n23:20:38         aix-71-agent1.delivery.puppetlabs.net (aix71-POWER-1) 06:20:38$ chown -R foo:foo /foo\n23:20:38         \n23:20:39         aix-71-agent1.delivery.puppetlabs.net (aix71-POWER-1) executed in 0.23 seconds\n23:20:39         \n23:20:39         aix-71-agent1.delivery.puppetlabs.net (aix71-POWER-1) 06:20:39$ su -l foo -c \"/opt/puppetlabs/puppet/bin/pxp-agent\"\n23:20:39           -l: 0403-010 A specified flag is not valid for this command.\n23:20:39         \n23:20:39         aix-71-agent1.delivery.puppetlabs.net (aix71-POWER-1) executed in 0.20 seconds\n23:20:39         Exited: 1\n23:20:39         Minitest::Assertion: The expected exit code was not observed \n23:20:39          -l: 0403-010 A specified flag is not valid for this command.\n23:20:39         .\n23:20:39         Expected: 0\n23:20:39           Actual: 1\n{code}\n\nRelevant part of the output (Solaris 11):\n{code}\n23:19:25 D, [2017-10-14T06:19:24.404564 #322] DEBUG -- : [:close]\n23:19:25 I, [2017-10-14T06:19:24.409062 #322]  INFO -- : [:close, 1000, \"\"]\n23:19:25     Minitest::Assertion: At the start of the test, kupjc9pcsx5e56e.delivery.puppetlabs.net (with PCP identity pcp://kupjc9pcsx5e56e.delivery.puppetlabs.net/agent ) should be associated with pcp-broker\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32051", "fixedVersions": ["pxp-agent 1.9.0"], "id": "32051", "issueType": "CI Blocker", "key": "PCP-808", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "resolution": "Fixed", "resolutionDate": "2017-10-17T17:46:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent acceptance test run_puppet_agent_non_root.rb fails on arista4-32a, AIX, solaris11", "timeSpent": "PT0S", "updated": "2018-03-20T14:30:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:71582ab7-ed41-48f8-a53e-545356d7dee4", "body": "This is no longer needed. This was the original/experimental approach when we were not clear on having an actual FIPS mode image. Now that there is a FIPS enabled redhat7-fips which is being used for testing. ", "created": "2018-01-31T23:04:00.000000"}], "components": [], "created": "2017-10-14T15:36:00.000000", "creator": "557058:71582ab7-ed41-48f8-a53e-545356d7dee4", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Should be possible to run pxp-agent acceptance tests on any of the above platforms in FIPS mode. "}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@25159fdb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-1617"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzhh3j:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_9448104510_*|*_6_*:*_1_*:*_0"}], "description": "As part of FIPS effort, it should be possible to run pxp-agent's acceptance tests on platforms running in FIPS mode. Install script in acceptance needs to up updated to enable FIPS mode on the agent's target platform. \nFollowing platforms are being planned currently: rhel7, rhel6, fedora 24 and fedora 25.\n", "epicLinkSummary": "Enable testing PA on FIPS enabled systems in CI and otherwise", "estimate": "PT0S", "externalId": "31894", "fixedVersions": [], "id": "31894", "issueType": "Task", "key": "PCP-807", "labels": [], "originalEstimate": "PT0S", "parent": "59667", "parentSummary": "Enable testing PA on FIPS enabled systems in CI and otherwise", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:71582ab7-ed41-48f8-a53e-545356d7dee4", "resolution": "Won't Do", "resolutionDate": "2018-01-31T23:04:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Enable pxp-agent acceptance testing on platforms in FIPS mode", "timeSpent": "PT0S", "updated": "2018-01-31T23:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:669d4655-0c85-469a-a11c-e5290cf2955d", "attachments": [], "comments": [{"author": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "body": "This passed acceptance at: https://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/master/view/Suite/job/platform_puppet-agent_integration-vanagon-suite-daily-master/", "created": "2017-10-13T17:48:00.000000"}], "components": [], "created": "2017-10-12T16:21:00.000000", "creator": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform puppet-agent"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@67739493"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzhfy7:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_752860_*|*_1_*:*_1_*:*_90846869_*|*_5_*:*_1_*:*_13639348509_*|*_6_*:*_1_*:*_0"}], "description": "Pxp-agent tests running in the puppet-agent#master suite pipeline are either failing or hanging at the tests/pxp-module-puppet/run_puppet_agent_non_root.rb test:\n\nExample failure from OSX:\n{code}\n15:07:40 Failed Tests Cases:\n15:07:40 Errored Tests Cases:\n15:07:40   Test Case tests/pxp-module-puppet/run_puppet_agent_non_root.rb reported: #<Beaker::Host::CommandFailure: Host 'lss77e15c6x3cum.delivery.puppetlabs.net' exited with 1 running:\n15:07:40  puppet resource user foo ensure=present managehome=true\n15:07:40 Last 10 lines of output were:\n15:07:40 \tError: Could not run: Parameter managehome failed on User[foo]: User provider directoryservice can not manage home directories>\n15:07:40     Test line: tests/pxp-module-puppet/run_puppet_agent_non_root.rb:11:in `block (4 levels) in run_test'\n{code}\n\nExample from solaris:\n\n{code}\n15:00:09         \n15:00:09 Failed Tests Cases:\n15:00:09 Errored Tests Cases:\n15:00:09   Test Case tests/pxp-module-puppet/run_puppet_agent_non_root.rb reported: #<Beaker::Host::CommandFailure: Host 'wgi2n60iou8tbs1.delivery.puppetlabs.net' exited with 2 running:\n15:00:09  mkdir -p /home/foo/.puppetlabs/etc/puppet\n15:00:09 Last 10 lines of output were:\n15:00:09 \tmkdir: \"/home/foo/.puppetlabs/etc/puppet\": Operation not applicable>\n15:00:09     Test line: tests/pxp-module-puppet/run_puppet_agent_non_root.rb:18:in `block (4 levels) in run_test'\n{code}\n\nExample of hanging on arista:\n{code}\n14:53:57   Begin tests/pxp-module-puppet/run_puppet_agent_non_root.rb\n14:53:57   \n14:53:57   Run puppet agent as non-root\n14:53:57     \n14:53:57     * create non-root user on all nodes\n14:53:57       \n14:53:57       wfmrsxc92f6odf9.delivery.puppetlabs.net (arista4-32-1) 21:53:57$ puppet resource user foo ensure=present managehome=true\n14:53:57         user { 'foo':\n14:53:58           ensure => 'present',\n14:53:58         }\n14:53:58       \n14:53:58       wfmrsxc92f6odf9.delivery.puppetlabs.net (arista4-32-1) executed in 1.40 seconds\n14:53:58       \n14:53:58       wfmrsxc92f6odf9.delivery.puppetlabs.net (arista4-32-1) 21:53:58$ puppet resource user foo --to_yaml\n14:53:58         user:\n14:53:59           foo:\n14:53:59             ensure : 'present'\n14:53:59             comment: 'Unknown User (foo)'\n14:53:59             gid    : 88\n14:53:59             home   : '/home/foo'\n14:53:59             shell  : '/usr/bin/RunCli'\n14:53:59             uid    : 64915131\n14:53:59       \n14:53:59       wfmrsxc92f6odf9.delivery.puppetlabs.net (arista4-32-1) executed in 1.32 seconds\n14:53:59       \n14:53:59       wfmrsxc92f6odf9.delivery.puppetlabs.net (arista4-32-1) 21:53:59$ mkdir -p /home/foo/.puppetlabs/etc/puppet\n14:53:59       \n14:53:59       wfmrsxc92f6odf9.delivery.puppetlabs.net (arista4-32-1) executed in 0.04 seconds\n14:53:59       \n14:53:59       wfmrsxc92f6odf9.delivery.puppetlabs.net (arista4-32-1) 21:53:59$ mkdir -p /home/foo/.puppetlabs/etc/pxp-agent\n14:53:59       \n14:54:00       wfmrsxc92f6odf9.delivery.puppetlabs.net (arista4-32-1) executed in 0.04 seconds\n14:54:00     \n14:54:00     * Ensure pxp-agent is stopped\n14:54:00       \n14:54:00       wfmrsxc92f6odf9.delivery.puppetlabs.net (arista4-32-1) 21:54:00$ puppet resource service pxp-agent ensure=stopped enable=false\n14:54:00         Notice: /Service[pxp-agent]/ensure: ensure changed 'running' to 'stopped'\n14:54:01         service { 'pxp-agent':\n14:54:01           ensure => 'stopped',\n14:54:01           enable => 'false',\n14:54:01         }\n14:54:01       \n14:54:01       wfmrsxc92f6odf9.delivery.puppetlabs.net (arista4-32-1) executed in 1.41 seconds\n14:54:01     \n14:54:01     * Copy certs and keys to new users home directory\n14:54:01       \n14:54:01       wfmrsxc92f6odf9.delivery.puppetlabs.net (arista4-32-1) 21:54:01$ puppet config print ssldir\n14:54:01         /etc/puppetlabs/puppet/ssl\n14:54:02       \n14:54:02       wfmrsxc92f6odf9.delivery.puppetlabs.net (arista4-32-1) executed in 0.99 seconds\n14:54:02       \n14:54:02       wfmrsxc92f6odf9.delivery.puppetlabs.net (arista4-32-1) 21:54:02$ cp -R /etc/puppetlabs/puppet/ssl /home/foo/.puppetlabs/etc/puppet\n14:54:02       \n14:54:02       wfmrsxc92f6odf9.delivery.puppetlabs.net (arista4-32-1) executed in 0.04 seconds\n14:54:02     \n14:54:02     * Attempt start of pxp-agent as non-root user\n14:54:02       \n14:54:02       wfmrsxc92f6odf9.delivery.puppetlabs.net (arista4-32-1) 21:54:02$ puppet resource service puppet ensure=running enable=true\n{code}\n\nAll hanging tests are happening at that exact spot\n\nList of failing OSes:\nOSX 10.10\nOSX 10.11\nOSX 10.12\nsolaris 10\n\nList of OSes where the hang occurs:\ndebian 7\nredhat 5\nredhat 6\nubuntu 14.04\n\nAll failures and hanging are reproducable outside the CI system", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32050", "fixedVersions": [], "id": "32050", "issueType": "CI Blocker", "key": "PCP-806", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Blocker", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "resolution": "Fixed", "resolutionDate": "2017-10-13T17:48:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "tests/pxp-module-puppet/run_puppet_agent_non_root.rb is either hanging or failing in the master pipeline", "timeSpent": "PT0S", "updated": "2018-03-20T14:30:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:75cf0874-3831-4bb6-a7ff-b655ecaa1a81", "body": "This seems like it may be transient (but happens most of the time). We had a green run on master here:\nhttps://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppet-agent_intn-van-sys_suite-secondary-pxp-agent-master/23/\n\nBut this failure recurred on the next run:\nhttps://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppet-agent_intn-van-sys_suite-secondary-pxp-agent-master/24/", "created": "2017-10-21T18:50:00.000000"}, {"author": "557058:75cf0874-3831-4bb6-a7ff-b655ecaa1a81", "body": "Here's another from 5.3.x:\nhttps://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppet-agent_intn-van-sys_suite-secondary-pxp-agent-5.3.x/SLAVE_LABEL=beaker,TEST_TARGET=aix61-POWERfa/13/", "created": "2017-10-28T16:09:00.000000"}, {"author": "557058:75cf0874-3831-4bb6-a7ff-b655ecaa1a81", "body": "Another 5.3.x instance from this weekend:\n\nhttps://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/5.3.x/view/Suite/job/platform_puppet-agent_puppet-agent-integration-suite_daily-5.3.x/18/COMPONENT=pxp_agent,SLAVE_LABEL=beaker,TEST_TARGET=aix61-POWERfa/", "created": "2017-11-06T08:14:00.000000"}, {"author": "557058:75cf0874-3831-4bb6-a7ff-b655ecaa1a81", "body": "Here's another from SLES 12 POWER on 5.3.x last night:\n\nhttps://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/5.3.x/view/Suite/job/platform_puppet-agent_puppet-agent-integration-suite_daily-5.3.x/19/COMPONENT=pxp_agent,SLAVE_LABEL=beaker,TEST_TARGET=sles12-POWERa/\n\n{code}\nD, [2017-11-07T09:17:52.892777 #327] DEBUG -- : [:message, :decoded, #<PCP::Message:0x00000004ff6fa0 @chunks=[\"{\\\"transaction_id\\\":\\\"e2e5deb0-79f7-4208-bfdb-9549f1f482d4\\\",\\\"results\\\":{\\\"transaction_id\\\":\\\"4314ca11-2aed-48fd-805c-73675a02d73a\\\",\\\"exitcode\\\":127,\\\"status\\\":\\\"failure\\\",\\\"stdout\\\":\\\"hello\\\\n\\\",\\\"stderr\\\":\\\"Task '/opt/puppetlabs/pxp-agent/tasks-cache/a7f65d4440d3a6ae6b3b9948719f68269d8cb9480040a2788de177c2872055c1/init' failed to run: child i/o failed.\\\"}}\", \"\"], @envelope={:id=>\"bc7a8e06-e3e3-4ec6-8aa8-da0cb17809f0\", :message_type=>\"http://puppetlabs.com/rpc_blocking_response\", :sender=>\"pcp://power8-sles12-1.ops.puppetlabs.net/agent\", :targets=>[\"pcp://mesos-jenkins-aaf4a1ed5f7f45b28be1dd21541639c7-workerbeaker/ruby-pcp-client-327\"], :expires=>\"1970-01-01T00:00:00.000Z\"}>]\n            Received response from pcp://power8-sles12-1.ops.puppetlabs.net/agent: {:envelope=>{:id=>\"bc7a8e06-e3e3-4ec6-8aa8-da0cb17809f0\", :message_type=>\"http://puppetlabs.com/rpc_blocking_response\", :sender=>\"pcp://power8-sles12-1.ops.puppetlabs.net/agent\", :targets=>[\"pcp://mesos-jenkins-aaf4a1ed5f7f45b28be1dd21541639c7-workerbeaker/ruby-pcp-client-327\"], :expires=>\"1970-01-01T00:00:00.000Z\"}, :data=>{\"transaction_id\"=>\"e2e5deb0-79f7-4208-bfdb-9549f1f482d4\", \"results\"=>{\"transaction_id\"=>\"4314ca11-2aed-48fd-805c-73675a02d73a\", \"exitcode\"=>127, \"status\"=>\"failure\", \"stdout\"=>\"hello\\n\", \"stderr\"=>\"Task '/opt/puppetlabs/pxp-agent/tasks-cache/a7f65d4440d3a6ae6b3b9948719f68269d8cb9480040a2788de177c2872055c1/init' failed to run: child i/o failed.\"}}}\nD, [2017-11-07T09:17:52.893690 #327] DEBUG -- : [:close]\n            Minitest::Assertion: Task was expected to succeed.\n            Expected: \"success\"\n{code}", "created": "2017-11-07T08:05:00.000000"}, {"author": "557058:75cf0874-3831-4bb6-a7ff-b655ecaa1a81", "body": "AIX 6.1 on master from last night: https://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/master/view/Suite/job/platform_puppet-agent_puppet-agent-integration-suite_daily-master/15/COMPONENT=pxp_agent,SLAVE_LABEL=beaker,TEST_TARGET=aix61-POWERfa/", "created": "2017-11-08T08:19:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This may not just be a POWER (SLES/AIX) config issue. I'll see if I can add a bit more debugging to the result when child fails.", "created": "2017-11-08T10:53:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Adding some better error messages in https://github.com/puppetlabs/leatherman/pull/268 to help with debugging this.", "created": "2017-11-10T11:50:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Latest error [joblink|https://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/master/view/Suite/job/platform_puppet-agent_puppet-agent-integration-suite_daily-master/23/COMPONENT=pxp_agent,SLAVE_LABEL=beaker,TEST_TARGET=aix72-POWERfa/testReport/junit/(root)/tests_tasks/run_echo_rb/] points to an EPIPE error. Some examples of how that could happen at https://unix.stackexchange.com/questions/84813/what-makes-a-unix-process-die-with-broken-pipe.\n\nSince stdout contains the expected output, this seems like AIX is somewhat inconsistent about shutting down a pipe. It's possible something about how Leatherman.execute writes input to the child process is buggy, although I'm not sure why it would be inconsistent.\n\nLooking at https://github.com/puppetlabs/leatherman/blob/master/execution/src/posix/execution.cc#L241-L256, one possibility that pops to mind is that on AIX the child process is returning before we attempt to write 0 bytes, causing the input pipe to close, and that we then fail when we attempt the last write. I can try to guard that.", "created": "2017-11-13T10:34:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "made it through 5.3.x and master CI.", "created": "2017-11-16T11:00:00.000000"}], "components": ["pxp-agent"], "created": "2017-10-11T14:11:00.000000", "creator": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform puppet-agent"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@663dda1c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-1021"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "No Action"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzhxlz:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Tasks that didn't read standard input would occasionally return an error when using the default input method. That seemed especially common on AIX platforms. The issue has been fixed."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/Oct/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_69743842_*|*_1_*:*_1_*:*_2685454_*|*_10007_*:*_1_*:*_190068067_*|*_3_*:*_1_*:*_256439063_*|*_10009_*:*_1_*:*_85007786_*|*_5_*:*_1_*:*_6928625324_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_233830_*|*_10005_*:*_1_*:*_2583631389"}], "description": "Link to the failing jobs:\nhttps://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/5.3.x/view/Non-Standard/job/platform_puppet-agent_intn-van-sys_suite-secondary-pxp-agent-5.3.x/9/\n\nhttps://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/master/view/Non-Standard/job/platform_puppet-agent_intn-van-sys_suite-secondary-pxp-agent-master/21/\n\nRelevant part of the output (using AIX 7.1 for 5.3.x):\n{code}\nD, [2017-10-10T18:31:53.846955 #324] DEBUG -- : [:send, #<PCP::Message:0x00000006f21970 @chunks=[\"\", \"\"], @envelope={:id=>\"903a3f9e-c42d-44b9-bcec-37c596d87e1f\", :message_type=>\"http://puppetlabs.com/associate_request\", :sender=>\"pcp://mesos-jenkins-cda7b44fecc647f0a7aa7a95f7ca875a-workerbeaker/ruby-pcp-client-324\", :targets=>[\"pcp:///server\"], :expires=>\"2017-10-10T18:31:56Z\"}>]\nD, [2017-10-10T18:31:53.852219 #324] DEBUG -- : [:message, :decoded, #<PCP::Message:0x00000006f528e0 @chunks=[\"{\\\"id\\\":\\\"903a3f9e-c42d-44b9-bcec-37c596d87e1f\\\",\\\"success\\\":true}\", \"\"], @envelope={:id=>\"59215b4b-194b-494c-8eba-c1ab7494841b\", :message_type=>\"http://puppetlabs.com/associate_response\", :sender=>\"pcp:///server\", :targets=>[\"pcp://mesos-jenkins-cda7b44fecc647f0a7aa7a95f7ca875a-workerbeaker/ruby-pcp-client-324\"], :expires=>\"1970-01-01T00:00:00.000Z\"}>]\nD, [2017-10-10T18:31:53.852995 #324] DEBUG -- : [:send, #<PCP::Message:0x00000006f50428 @chunks=[\"{\\\"transaction_id\\\":\\\"fcc96e96-212e-4bc5-b3a6-0997a7c8a60b\\\",\\\"module\\\":\\\"status\\\",\\\"action\\\":\\\"query\\\",\\\"params\\\":{\\\"transaction_id\\\":\\\"d494d8de-980b-4da3-b807-f7ba4543d855\\\"}}\", \"\"], @envelope={:id=>\"d08fdb09-5f98-47ef-be06-b0a6a4919927\", :message_type=>\"http://puppetlabs.com/rpc_blocking_request\", :targets=>[\"pcp://aix-71-agent3.delivery.puppetlabs.net/agent\"], :expires=>\"2017-10-10T18:32:03Z\"}>]\nD, [2017-10-10T18:31:53.862687 #324] DEBUG -- : [:message, :decoded, #<PCP::Message:0x00000006f809c0 @chunks=[\"{\\\"transaction_id\\\":\\\"fcc96e96-212e-4bc5-b3a6-0997a7c8a60b\\\",\\\"results\\\":{\\\"transaction_id\\\":\\\"d494d8de-980b-4da3-b807-f7ba4543d855\\\",\\\"exitcode\\\":127,\\\"status\\\":\\\"failure\\\",\\\"stdout\\\":\\\"hello\\\\n\\\",\\\"stderr\\\":\\\"Task '/opt/puppetlabs/pxp-agent/tasks-cache/936e85a9b7f1e7b4b593c9f051a36105ed36f7fb8dcff67ff23a3a9af2abe962/init.bat' failed to run: child i/o failed.\\\"}}\", \"\"], @envelope={:id=>\"c4d9f7a9-eddd-465c-b155-889024dccd76\", :message_type=>\"http://puppetlabs.com/rpc_blocking_response\", :sender=>\"pcp://aix-71-agent3.delivery.puppetlabs.net/agent\", :targets=>[\"pcp://mesos-jenkins-cda7b44fecc647f0a7aa7a95f7ca875a-workerbeaker/ruby-pcp-client-324\"], :expires=>\"1970-01-01T00:00:00.000Z\"}>]\n            Received response from pcp://aix-71-agent3.delivery.puppetlabs.net/agent: {:envelope=>{:id=>\"c4d9f7a9-eddd-465c-b155-889024dccd76\", :message_type=>\"http://puppetlabs.com/rpc_blocking_response\", :sender=>\"pcp://aix-71-agent3.delivery.puppetlabs.net/agent\", :targets=>[\"pcp://mesos-jenkins-cda7b44fecc647f0a7aa7a95f7ca875a-workerbeaker/ruby-pcp-client-324\"], :expires=>\"1970-01-01T00:00:00.000Z\"}, :data=>{\"transaction_id\"=>\"fcc96e96-212e-4bc5-b3a6-0997a7c8a60b\", \"results\"=>{\"transaction_id\"=>\"d494d8de-980b-4da3-b807-f7ba4543d855\", \"exitcode\"=>127, \"status\"=>\"failure\", \"stdout\"=>\"hello\\n\", \"stderr\"=>\"Task '/opt/puppetlabs/pxp-agent/tasks-cache/936e85a9b7f1e7b4b593c9f051a36105ed36f7fb8dcff67ff23a3a9af2abe962/init.bat' failed to run: child i/o failed.\"}}}\nD, [2017-10-10T18:31:53.863763 #324] DEBUG -- : [:close]\n            Minitest::Assertion: Task was expected to succeed.\n            Expected: \"success\"\n              Actual: \"failure\"\n{code}", "epicLinkSummary": "Platform OS Team - CI Blockers and Transients", "estimate": "PT0S", "externalId": "31979", "fixedVersions": ["pxp-agent 1.8.1", "pxp-agent 1.9.0"], "id": "31979", "issueType": "CI Blocker", "key": "PCP-822", "labels": ["transient"], "originalEstimate": "PT0S", "parent": "59209", "parentSummary": "Platform OS Team - CI Blockers and Transients", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "resolution": "Fixed", "resolutionDate": "2017-11-17T10:41:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent acceptance tests fail with \"child i/o failed\"", "timeSpent": "PT0S", "updated": "2018-02-05T15:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:71582ab7-ed41-48f8-a53e-545356d7dee4", "body": "PR: https://github.com/puppetlabs/pxp-agent/pull/676", "created": "2017-10-09T18:40:00.000000"}, {"author": "557058:71582ab7-ed41-48f8-a53e-545356d7dee4", "body": "This was being done using the (interim) approach of doing the following required steps from within setup scripts to allow testing in FIPS mode:\nAdjust system openssl library patch version on RHEL7 whose default patch revision is lower than that on Centos7 which is used to build PA\nEnable FIPS mode\nPer discussion with RE, Platform OS and others it was deemed designating platforms for FIPS that actually boot in FIPS mode would be more sustainable long term approach. Separate ticket/epic have been created to add support for FIPS booting platforms in CI: IMAGES-656, PA-1642\nLikewise this work is not required.", "created": "2017-11-06T23:01:00.000000"}], "components": [], "created": "2017-10-03T10:52:00.000000", "creator": "557058:71582ab7-ed41-48f8-a53e-545356d7dee4", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "PA built against system openssl should pass all tests in adhoc PA CI pipes on RHEL platforms"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4acceeab"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-1608"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzh70v:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_256148286_*|*_3_*:*_1_*:*_290053542_*|*_10009_*:*_1_*:*_2438739428_*|*_6_*:*_1_*:*_0"}], "description": "There are some failures when testing PA, built against openssl, in CI pipe lines on RHEL targets. The issue is due to the rhel images having older patch version of openssl package.\nThe install scripts in various project specific acceptance setup needs to be changed to upgrade the openssl lib versions when running tests on rhel platforms.", "epicLinkSummary": "Allow testing PA built w/ system openssl in CI on rhel platforms", "estimate": "PT0S", "externalId": "31620", "fixedVersions": [], "id": "31620", "issueType": "Task", "key": "PCP-805", "labels": [], "originalEstimate": "PT0S", "parent": "59666", "parentSummary": "Allow testing PA built w/ system openssl in CI on rhel platforms", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:71582ab7-ed41-48f8-a53e-545356d7dee4", "resolution": "Won't Do", "resolutionDate": "2017-11-06T23:01:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Enable testing PA built against system openssl in CI test pipelines on RHEL platform", "timeSpent": "PT0S", "updated": "2017-11-06T23:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "body": "It would probably be good to mark either this ticket a duplicate of PCP-803, or PCP-803 a duplicate of this ticket.", "created": "2017-10-03T06:43:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Duplicate of PCP-803", "created": "2017-10-03T06:45:00.000000"}], "components": ["pxp-agent package"], "created": "2017-10-03T03:59:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@37209ca4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Automated Test"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzh6r3:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Oct/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_10001064_*|*_5_*:*_1_*:*_101554158_*|*_6_*:*_1_*:*_0"}], "description": "(Note: there is an existing ticket PCP-578 for this test failing on Windows that was closed as \"Cannot Reproduce\", but the failing output does not match this case exactly)\n\npxp-agent 1.8.0 in puppet-agent 5.3.1\n\nhttps://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-5.3.2_release/SLAVE_LABEL=beaker,TEST_TARGET=windows2008r2-64a/2/consoleFull\n\n{noformat}* C93070 - Service Start (from stopped, with configuration)\n  \n  byti6v8e0db4fvc.delivery.puppetlabs.net (windows2008r2-64-1) 09:05:25$ cmd.exe /c puppet resource service pxp-agent ensure=stopped\n    Notice: /Service[pxp-agent]/ensure: ensure changed 'running' to 'stopped'\n    service { 'pxp-agent':\n      ensure => 'stopped',\n    }\n  \n  byti6v8e0db4fvc.delivery.puppetlabs.net (windows2008r2-64-1) executed in 5.66 seconds\n  \n  byti6v8e0db4fvc.delivery.puppetlabs.net (windows2008r2-64-1) 09:05:30$ cmd.exe /c puppet resource service pxp-agent \n    C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/gems/2.4.0/gems/win32-service-0.8.8/lib/win32/service.rb:1081: warning: constant ::Fixnum is deprecated\n    service { 'pxp-agent':\n      ensure => 'stopped',\n      enable => 'true',\n    }\n  \n  byti6v8e0db4fvc.delivery.puppetlabs.net (windows2008r2-64-1) executed in 2.07 seconds\n  \n  byti6v8e0db4fvc.delivery.puppetlabs.net (windows2008r2-64-1) 09:05:32$ cmd.exe /c puppet resource service pxp-agent ensure=running\n    Error: Cannot start pxp-agent, error was: Execution of 'C:/Windows/system32/net.exe start pxp-agent' returned 2: The Puppet PXP Agent service is starting........\n    The Puppet PXP Agent service could not be started.\n    \n    More help is available by typing NET HELPMSG 3523.\n    Wrapped exception:\n    Execution of 'C:/Windows/system32/net.exe start pxp-agent' returned 2: The Puppet PXP Agent service is starting........\n    The Puppet PXP Agent service could not be started.\n    \n    More help is available by typing NET HELPMSG 3523.\n    Error: /Service[pxp-agent]/ensure: change from 'stopped' to 'running' failed: Cannot start pxp-agent, error was: Execution of 'C:/Windows/system32/net.exe start pxp-agent' returned 2: The Puppet PXP Agent service is starting........\n    The Puppet PXP Agent service could not be started.\n    \n    More help is available by typing NET HELPMSG 3523.\n    service { 'pxp-agent':\n      ensure => 'stopped',\n    }\n  \n  byti6v8e0db4fvc.delivery.puppetlabs.net (windows2008r2-64-1) executed in 22.31 seconds\n  \n  byti6v8e0db4fvc.delivery.puppetlabs.net (windows2008r2-64-1) 09:05:55$ cmd.exe /c puppet resource service pxp-agent \n    C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/gems/2.4.0/gems/win32-service-0.8.8/lib/win32/service.rb:1081: warning: constant ::Fixnum is deprecated\n    service { 'pxp-agent':\n      ensure => 'stopped',\n      enable => 'true',\n    }\n  \n  byti6v8e0db4fvc.delivery.puppetlabs.net (windows2008r2-64-1) executed in 1.98 seconds\n  Minitest::Assertion: pxp-agent not in expected running state.\n  Expected /ensure => .running.,/ to match \"service { 'pxp-agent':\\n  ensure => 'stopped',\\n  enable => 'true',\\n}\\n\".\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-5.3.2_release/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp_agent/acceptance/.bundle/gems/ruby/2.3.0/gems/minitest-5.10.3/lib/minitest/assertions.rb:139\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-5.3.2_release/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp_agent/acceptance/.bundle/gems/ruby/2.3.0/gems/minitest-5.10.3/lib/minitest/assertions.rb:251\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-5.3.2_release/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp_agent/acceptance/tests/service_stop_start.rb:47\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-5.3.2_release/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp_agent/acceptance/.bundle/gems/ruby/2.3.0/gems/beaker-3.25.0/lib/beaker/dsl/helpers/host_helpers.rb:93\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-5.3.2_release/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp_agent/acceptance/.bundle/gems/ruby/2.3.0/gems/beaker-3.25.0/lib/beaker/shared/host_manager.rb:127\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-5.3.2_release/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp_agent/acceptance/.bundle/gems/ruby/2.3.0/gems/beaker-3.25.0/lib/beaker/dsl/patterns.rb:37\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-5.3.2_release/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp_agent/acceptance/.bundle/gems/ruby/2.3.0/gems/beaker-3.25.0/lib/beaker/dsl/helpers/host_helpers.rb:63\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-5.3.2_release/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp_agent/acceptance/tests/service_stop_start.rb:46\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-5.3.2_release/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp_agent/acceptance/tests/service_stop_start.rb:61\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-5.3.2_release/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp_agent/acceptance/.bundle/gems/ruby/2.3.0/gems/beaker-3.25.0/lib/beaker/dsl/structure.rb:44\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-5.3.2_release/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp_agent/acceptance/tests/service_stop_start.rb:57\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-5.3.2_release/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp_agent/acceptance/tests/service_stop_start.rb:52\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-5.3.2_release/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp_agent/acceptance/tests/service_stop_start.rb:52\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-5.3.2_release/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp_agent/acceptance/tests/service_stop_start.rb:52\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-5.3.2_release/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp_agent/acceptance/.bundle/gems/ruby/2.3.0/gems/beaker-3.25.0/lib/beaker/test_case.rb:133\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-5.3.2_release/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp_agent/acceptance/.bundle/gems/ruby/2.3.0/gems/beaker-3.25.0/lib/beaker/test_case.rb:133\n  /usr/local/rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/benchmark.rb:308\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-5.3.2_release/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp_agent/acceptance/.bundle/gems/ruby/2.3.0/gems/beaker-3.25.0/lib/beaker/test_case.rb:130\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-5.3.2_release/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp_agent/acceptance/.bundle/gems/ruby/2.3.0/gems/beaker-3.25.0/lib/beaker/test_suite.rb:66\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-5.3.2_release/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp_agent/acceptance/.bundle/gems/ruby/2.3.0/gems/beaker-3.25.0/lib/beaker/test_suite.rb:63\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-5.3.2_release/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp_agent/acceptance/.bundle/gems/ruby/2.3.0/gems/beaker-3.25.0/lib/beaker/test_suite.rb:63\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-5.3.2_release/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp_agent/acceptance/.bundle/gems/ruby/2.3.0/gems/beaker-3.25.0/lib/beaker/test_suite.rb:112\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-5.3.2_release/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp_agent/acceptance/.bundle/gems/ruby/2.3.0/gems/beaker-3.25.0/lib/beaker/cli.rb:205\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-5.3.2_release/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp_agent/acceptance/.bundle/gems/ruby/2.3.0/gems/beaker-3.25.0/lib/beaker/cli.rb:131\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-5.3.2_release/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp_agent/acceptance/.bundle/gems/ruby/2.3.0/gems/beaker-3.25.0/bin/beaker:9\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-5.3.2_release/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp_agent/acceptance/.bundle/gems/ruby/2.3.0/bin/beaker:23\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-5.3.2_release/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp_agent/acceptance/.bundle/gems/ruby/2.3.0/bin/beaker:23\n  Begin teardown\n  {noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31734", "fixedVersions": [], "id": "31734", "issueType": "Bug", "key": "PCP-804", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Duplicate", "resolutionDate": "2017-10-03T06:45:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Windows 2008 R2 - pxp-agent service stop/start test failure", "timeSpent": "PT0S", "updated": "2017-10-04T10:58:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "created": "2017-10-02T10:32:00.000000", "name": "20171002-puppet-agent-5.3.x-pxp-agent-tests.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12355"}], "comments": [{"author": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "body": "Closing as a duplicate of PCP-717", "created": "2017-10-03T06:57:00.000000"}], "components": [], "created": "2017-10-02T10:30:00.000000", "creator": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform puppet-agent"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5bca852d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-1021"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "No Action"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzh5in:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_73644652_*|*_6_*:*_1_*:*_0"}], "description": "Link to the job:\nhttps://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/5.3.x/view/Suite/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-5.3.x/SLAVE_LABEL=beaker,TEST_TARGET=windows2008r2-64a/22/\n\nRelevant part of the output:\n{code}\n08:32:28 * C93070 - Service Start (from stopped, with configuration)\n08:32:28   \n08:32:28   ch19gpcy3f3tgac.delivery.puppetlabs.net (windows2008r2-64-1) 15:32:28$ cmd.exe /c puppet resource service pxp-agent ensure=stopped\n08:32:28     Notice: /Service[pxp-agent]/ensure: ensure changed 'running' to 'stopped'\n08:32:33     service { 'pxp-agent':\n08:32:33       ensure => 'stopped',\n08:32:33     }\n08:32:33   \n08:32:33   ch19gpcy3f3tgac.delivery.puppetlabs.net (windows2008r2-64-1) executed in 5.63 seconds\n08:32:33   \n08:32:33   ch19gpcy3f3tgac.delivery.puppetlabs.net (windows2008r2-64-1) 15:32:33$ cmd.exe /c puppet resource service pxp-agent \n08:32:33     C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/gems/2.4.0/gems/win32-service-0.8.8/lib/win32/service.rb:1081: warning: constant ::Fixnum is deprecated\n08:32:36     service { 'pxp-agent':\n08:32:36       ensure => 'stopped',\n08:32:36       enable => 'true',\n08:32:36     }\n08:32:36   \n08:32:36   ch19gpcy3f3tgac.delivery.puppetlabs.net (windows2008r2-64-1) executed in 2.64 seconds\n08:32:36   \n08:32:36   ch19gpcy3f3tgac.delivery.puppetlabs.net (windows2008r2-64-1) 15:32:36$ cmd.exe /c puppet resource service pxp-agent ensure=running\n08:32:36     Error: Cannot start pxp-agent, error was: Execution of 'C:/Windows/system32/net.exe start pxp-agent' returned 2: The Puppet PXP Agent service is starting........\n08:32:58     The Puppet PXP Agent service could not be started.\n08:32:58     \n08:32:58     More help is available by typing NET HELPMSG 3523.\n08:32:58     Wrapped exception:\n08:32:58     Execution of 'C:/Windows/system32/net.exe start pxp-agent' returned 2: The Puppet PXP Agent service is starting........\n08:32:58     The Puppet PXP Agent service could not be started.\n08:32:58     \n08:32:58     More help is available by typing NET HELPMSG 3523.\n08:32:58     Error: /Service[pxp-agent]/ensure: change from 'stopped' to 'running' failed: Cannot start pxp-agent, error was: Execution of 'C:/Windows/system32/net.exe start pxp-agent' returned 2: The Puppet PXP Agent service is starting........\n08:32:58     The Puppet PXP Agent service could not be started.\n08:32:58     \n08:32:58     More help is available by typing NET HELPMSG 3523.\n08:32:58     service { 'pxp-agent':\n08:32:59       ensure => 'stopped',\n08:32:59     }\n08:32:59   \n08:32:59   ch19gpcy3f3tgac.delivery.puppetlabs.net (windows2008r2-64-1) executed in 23.06 seconds\n08:32:59   \n08:32:59   ch19gpcy3f3tgac.delivery.puppetlabs.net (windows2008r2-64-1) 15:32:59$ cmd.exe /c puppet resource service pxp-agent \n08:32:59     C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/gems/2.4.0/gems/win32-service-0.8.8/lib/win32/service.rb:1081: warning: constant ::Fixnum is deprecated\n08:33:02     service { 'pxp-agent':\n08:33:02       ensure => 'stopped',\n08:33:02       enable => 'true',\n08:33:02     }\n08:33:02   \n08:33:02   ch19gpcy3f3tgac.delivery.puppetlabs.net (windows2008r2-64-1) executed in 2.98 seconds\n08:33:02   Minitest::Assertion: pxp-agent not in expected running state.\n08:33:02   Expected /ensure => .running.,/ to match \"service { 'pxp-agent':\\n  ensure => 'stopped',\\n  enable => 'true',\\n}\\n\".\n08:33:02   /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-5.3.x/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp_agent/acceptance/.bundle/gems/ruby/2.3.0/gems/minitest-5.10.3/lib/minitest/assertions.rb:139\n08:33:02   /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-5.3.x/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp_agent/acceptance/.bundle/gems/ruby/2.3.0/gems/minitest-5.10.3/lib/minitest/assertions.rb:251\n08:33:02   /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-5.3.x/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp_agent/acceptance/tests/service_stop_start.rb:47\n08:33:02   /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-5.3.x/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp_agent/acceptance/.bundle/gems/ruby/2.3.0/gems/beaker-3.25.0/lib/beaker/dsl/helpers/host_helpers.rb:93\n.......\n08:46:32 Failed Tests Cases:\n08:46:32   Test Case tests/service_stop_start.rb reported: #<Minitest::Assertion: pxp-agent not in expected running state.\n08:46:32 Expected /ensure => .running.,/ to match \"service { 'pxp-agent':\\n  ensure => 'stopped',\\n  enable => 'true',\\n}\\n\".>\n08:46:32     Test line: tests/service_stop_start.rb:47:in `block in assert_running\n{code}", "epicLinkSummary": "Platform OS Team - CI Blockers and Transients", "estimate": "PT0S", "externalId": "31745", "fixedVersions": [], "id": "31745", "issueType": "CI Blocker", "key": "PCP-803", "labels": [], "originalEstimate": "PT0S", "parent": "59209", "parentSummary": "Platform OS Team - CI Blockers and Transients", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "resolution": "Duplicate", "resolutionDate": "2017-10-03T06:57:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent acceptance test service_stop_start.rb fails on windows2008r2-64a", "timeSpent": "PT0S", "updated": "2017-10-04T10:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "created": "2017-09-29T03:53:00.000000", "name": "20170929-puppet-agent-1.10.x-pxp-agent.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12346"}], "comments": [{"author": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "body": "Marking this as transient, because the last updates to the 1.5.x branch at the time of reporting this ticket were two days before the last passing 1.10.x pipeline.", "created": "2017-09-29T03:54:00.000000"}, {"author": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "body": "Also failed on the puppet-agent master pipeline for some platforms:\nhttps://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/master/view/Suite/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/204/", "created": "2017-09-29T03:57:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Assuming this is the 2GB memory limit on VMs. Please close when tests pass again.", "created": "2017-09-29T12:22:00.000000"}, {"author": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "body": "The last several runs of this test have passed on the master and 1.10.x branches, so I think we can safely close this.", "created": "2017-10-09T19:08:00.000000"}], "components": [], "created": "2017-09-29T03:53:00.000000", "creator": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform puppet-agent"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@61382978"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-1021"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "No Action"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzh6hb:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "0.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "29/Sep/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_918898512_*|*_6_*:*_1_*:*_0"}], "description": "Link to the failing job:\nhttps://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/1.10.x/view/Suite/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-1.10.x/74/\n\nRelevant part of the output:\n{code}\n02:42:32 Beaker::Host::CommandFailure: Host 'i42see64pp7abkx.delivery.puppetlabs.net' exited with 1 running:\n02:42:32  puppet agent --test --server rzoinysjux76byh.delivery.puppetlabs.net\n02:42:32 Last 10 lines of output were:\n02:42:32 \tError: Could not request certificate: Connection refused - connect(2) for \"rzoinysjux76byh.delivery.puppetlabs.net\" port 8140\n02:42:32 \tExiting; failed to retrieve certificate and waitforcert is disabled\n{code}", "epicLinkSummary": "Platform OS Team - CI Blockers and Transients", "estimate": "PT0S", "externalId": "31551", "fixedVersions": ["pxp-agent 1.5.7", "pxp-agent 1.9.0"], "id": "31551", "issueType": "CI Blocker", "key": "PCP-802", "labels": ["transient"], "originalEstimate": "PT0S", "parent": "59209", "parentSummary": "Platform OS Team - CI Blockers and Transients", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "resolution": "Fixed", "resolutionDate": "2017-10-09T19:08:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent acceptance tests fail to request certificate from master", "timeSpent": "PT0S", "updated": "2018-03-21T08:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "attachments": [{"attacher": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "created": "2017-09-28T01:18:00.000000", "name": "20170928-puppet-agent-master-pxp-agent-solaris10-sparc.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12345"}], "comments": [{"author": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "body": "This passed after re-running the job: https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppet-agent_intn-van-sys_suite-secondary-pxp-agent-master/SLAVE_LABEL=beaker,TEST_TARGET=solaris10-SPARCa/17/\n\nMarking this failure as transient.", "created": "2017-09-28T01:53:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Not sure why {{kill}} is being called during the runs.", "created": "2017-09-28T10:12:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Oh, that's part of killing a {{sleep}} process. The error from it - signal not recognized - is a pretty weird one.", "created": "2017-09-28T10:13:00.000000"}, {"author": "557058:75cf0874-3831-4bb6-a7ff-b655ecaa1a81", "body": "There are several acceptance failures in this run, but some of the outputs look like they match this ticket:\n\nhttps://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/5.3.x/view/Suite/job/platform_puppet-agent_puppet-agent-integration-suite_daily-5.3.x/19/COMPONENT=pxp_agent,SLAVE_LABEL=beaker,TEST_TARGET=solaris10-SPARCa/testReport/\n\n{code}\nHost 'sol10-2.delivery.puppetlabs.net' exited with 1 running:  kill -s TERM 1130 Last 10 lines of output were:  sh: kill: bad signal\n{code}", "created": "2017-11-07T09:29:00.000000"}, {"author": "557058:89341248-d23e-4b19-a2b6-66b9bb55eb83", "body": "Master, 5.3.x,  and 1.10.x  are all seeing this failure from the weekend runs:\n\nhttps://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/master/view/Suite/job/platform_puppet-agent_puppet-agent-integration-suite_daily-master/lastCompletedBuild/COMPONENT=pxp_agent,SLAVE_LABEL=beaker,TEST_TARGET=solaris10-SPARCa/consoleFull\n\nhttps://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/5.3.x/view/Suite/job/platform_puppet-agent_puppet-agent-integration-suite_daily-5.3.x/lastCompletedBuild/COMPONENT=pxp_agent,SLAVE_LABEL=beaker,TEST_TARGET=solaris10-SPARCa/consoleFull\n\nhttps://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/1.10.x/view/Suite/job/platform_puppet-agent_puppet-agent-integration-suite_daily-1.10.x/lastCompletedBuild/COMPONENT=pxp_agent,SLAVE_LABEL=beaker,TEST_TARGET=solaris10-SPARCa/console", "created": "2017-11-20T09:32:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This one's super weird. Closest I've found to others experiencing it is https://www.linuxquestions.org/questions/solaris-opensolaris-20/kill-bad-signal-4175468283/, which has no resolution. Might be worth trying the signal number rather than name, though I'm not sure why that would matter.", "created": "2017-11-20T10:43:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I wonder if this could be related to specific Solaris 10 instances.", "created": "2017-11-20T16:04:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "On sol10-2.delivery.puppetlabs.net\n{code}\n# sleep 60 &\n884\n# kill -s TERM 884\nkill: bad signal\n# kill -15 884\n#\n{code}\n\nThe recent failures were all on sol10-2 as well.", "created": "2017-11-20T16:13:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "sol10-2 appears to be misconfigured. When logging in, it uses /sbin/sh rather than bash (which is preferred by other machines such as sol10-5).", "created": "2017-11-20T16:18:00.000000"}, {"author": "557058:89341248-d23e-4b19-a2b6-66b9bb55eb83", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] The root shell on sol10-2 is /bin/sh not /bin/bash.\n\nKill in the shell, sh(1),  doesn't understand '-s'\n\n{code}\n     kill [ -sig ] %job ...\n     kill -l\n\n         Sends either the TERM (terminate) signal or  the  speci-\n         fied  signal to the specified jobs or processes. Signals\n{code}", "created": "2017-11-20T16:32:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Yes. That's my point. They're configured inconsistently.", "created": "2017-11-20T16:33:00.000000"}, {"author": "557058:89341248-d23e-4b19-a2b6-66b9bb55eb83", "body": "I asked [~accountid:557058:5e3ab1ea-c44e-4f59-85de-75f38ca423f1] if he could fix sol10-2 to be using bash for the root shell by default and check the other machines.", "created": "2017-11-20T17:06:00.000000"}, {"author": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "body": "It looks like this went through CI for 1.10.x, 5.3.x and the master branches. Here are the links:\n\nPassing 1.10.x:\nhttps://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/1.10.x/view/Suite/job/platform_puppet-agent_puppet-agent-integration-suite_daily-1.10.x/35/\n\nPassing 5.3.x:\nhttps://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/5.3.x/view/Suite/job/platform_puppet-agent_puppet-agent-integration-suite_daily-5.3.x/38/\n\nPassing master:\nhttps://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/master/view/Suite/job/platform_puppet-agent_puppet-agent-integration-suite_daily-master/33/\n\nSo I am going to \"Resolve\" this ticket.", "created": "2017-11-29T08:55:00.000000"}], "components": ["pxp-agent"], "created": "2017-09-28T01:18:00.000000", "creator": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform puppet-agent"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3833545"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzh31j:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Testing fix."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/Sep/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_87984438_*|*_1_*:*_1_*:*_4639926670_*|*_10007_*:*_1_*:*_61543163_*|*_10009_*:*_1_*:*_598390799_*|*_5_*:*_1_*:*_5892723471_*|*_6_*:*_1_*:*_0"}], "description": "Link to the failing job:\nhttps://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/master/view/Non-Standard/job/platform_puppet-agent_intn-van-sys_suite-secondary-pxp-agent-master/SLAVE_LABEL=beaker,TEST_TARGET=solaris10-SPARCa/16/\n\nRelevant part of the output:\n{code}\n00:03:05 Failed Tests Cases:\n00:03:05   Test Case tests/pxp-module-puppet/run_puppet_killed_puppet.rb reported: #<Minitest::Assertion: First agent run completed before non-blocking-request returned>\n00:03:05     Test line: tests/pxp-module-puppet/run_puppet_killed_puppet.rb:62:in `block (4 levels) in run_test'\n00:03:05 Errored Tests Cases:\n00:03:05   Test Case tests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb reported: #<Beaker::Host::CommandFailure: Host 'sol10-2.delivery.puppetlabs.net' exited with 1 running:\n00:03:05  kill -s TERM 1130\n00:03:05 Last 10 lines of output were:\n00:03:05 \tsh: kill: bad signal>\n00:03:05     Test line: tests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb:80:in `block (4 levels) in run_test'\n00:03:05   Test Case tests/pxp-module-puppet/run_puppet.rb reported: #<RuntimeError: Exception occurred when trying to run Puppet on all agents: Didn't receive all PCP responses when requesting pxp-module-puppet run on [\"pcp://sol10-2.delivery.puppetlabs.net/agent\"]. Responses received were: {}>\n00:03:05     Test line: tests/pxp-module-puppet/run_puppet.rb:30:in `rescue in block (3 levels) in run_test'\n00:03:05   Test Case tests/pxp-module-puppet/run_puppet_during_puppet.rb reported: #<Beaker::Host::CommandFailure: Host 'sol10-2.delivery.puppetlabs.net' exited with 1 running:\n00:03:05  kill -s TERM 1130\n00:03:05 Last 10 lines of output were:\n00:03:05 \tsh: kill: bad signal>\n00:03:05     Test line: tests/pxp-module-puppet/run_puppet_during_puppet.rb:54:in `block (3 levels) in run_test'\n00:03:05   Test Case tests/pxp-module-puppet/run_puppet_exec.rb reported: #<RuntimeError: Exception occurred when trying to run Puppet on all agents: Didn't receive all PCP responses when requesting pxp-module-puppet run on [\"pcp://sol10-2.delivery.puppetlabs.net/agent\"]. Responses received were: {}>\n00:03:05     Test line: tests/pxp-module-puppet/run_puppet_exec.rb:54:in `rescue in block (3 levels) in run_test'\n00:03:05   Test Case tests/pxp-module-puppet/run_puppet_twice.rb reported: #<Beaker::Host::CommandFailure: Host 'sol10-2.delivery.puppetlabs.net' exited with 1 running:\n00:03:05  kill -s TERM 1815\n00:03:05 Last 10 lines of output were:\n00:03:05 \tsh: kill: bad signal>\n00:03:05     Test line: tests/pxp-module-puppet/run_puppet_twice.rb:116:in `block (3 levels) in run_test'\n00:03:05   Test Case tests/pxp-module-puppet/run_puppet_umask.rb reported: #<RuntimeError: Exception occurred when trying to run Puppet on all agents: Didn't receive all PCP responses when requesting pxp-module-puppet run on [\"pcp://sol10-2.delivery.puppetlabs.net/agent\"]. Responses received were: {}>\n00:03:05     Test line: tests/pxp-module-puppet/run_puppet_umask.rb:90:in `rescue in block (3 levels) in run_test'\n00:03:05   Test Case tests/pxp-module-puppet/run_puppet_v1.rb reported: #<RuntimeError: Exception occurred when trying to run Puppet on all agents: Didn't receive all PCP responses when requesting pxp-module-puppet run on [\"pcp://sol10-2.delivery.puppetlabs.net/agent\"]. Responses received were: {}>\n00:03:05     Test line: tests/pxp-module-puppet/run_puppet_v1.rb:43:in `rescue in block (3 levels) in run_test'\n00:03:05 Skipped Tests Cases:\n00:03:05   Test Case tests/tasks/run_ps1.rb \n00:03:05 Pending Tests Cases:\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32049", "fixedVersions": ["pxp-agent 1.5.6", "pxp-agent 1.8.1", "pxp-agent 1.9.0"], "id": "32049", "issueType": "CI Blocker", "key": "PCP-801", "labels": ["transient"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "resolution": "Fixed", "resolutionDate": "2017-11-29T08:55:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent acceptance tests fail on solaris10-SPARC", "timeSpent": "PT0S", "updated": "2018-02-05T13:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "created": "2017-09-26T10:12:00.000000", "name": "20170926-puppet-agent-master-suite-el7.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12354"}], "comments": [{"author": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "body": "Closed as this is a duplicate of PCP-511", "created": "2017-09-26T16:51:00.000000"}], "components": [], "created": "2017-09-26T10:12:00.000000", "creator": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform puppet-agent"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@575e3b76"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzh1c7:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_601913_*|*_1_*:*_1_*:*_23330479_*|*_6_*:*_1_*:*_0"}], "description": "Link to the job: https://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/master/view/Suite/job/platform_puppet-agent_pkg-van-ship_daily-master/170/\n\nRepresentative case: https://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/master/view/Suite/job/platform_puppet-agent_pkg-van-ship_daily-master/170/BUILD_TARGET=el-7-x86_64,SLAVE_LABEL=beaker/\n\nRelevant part of the output:\n{code}\n23:39:47 /opt/puppetlabs/puppet/lib/libcpp-hocon.a(config.cc.o): In function `boost::locale::basic_format<char>::format_guard::~format_guard()':\n23:39:47 config.cc:(.text._ZN5boost6locale12basic_formatIcE12format_guardD2Ev[_ZN5boost6locale12basic_formatIcE12format_guardD5Ev]+0x14): undefined reference to `boost::locale::details::format_parser::restore()'\n23:39:47 /opt/puppetlabs/puppet/lib/libcpp-hocon.a(config.cc.o): In function `boost::locale::basic_format<char>::format_output(std::ostream&, std::string const&) const':\n23:39:47 config.cc:(.text._ZNK5boost6locale12basic_formatIcE13format_outputERSoRKSs[_ZNK5boost6locale12basic_formatIcE13format_outputERSoRKSs]+0xec): undefined reference to `boost::locale::details::format_parser::format_parser(std::ios_base&, void*, void (*)(void*, std::locale const&))'\n23:39:47 config.cc:(.text._ZNK5boost6locale12basic_formatIcE13format_outputERSoRKSs[_ZNK5boost6locale12basic_formatIcE13format_outputERSoRKSs]+0x18a): undefined reference to `boost::locale::details::format_parser::set_one_flag(std::string const&, std::string const&)'\n23:39:47 config.cc:(.text._ZNK5boost6locale12basic_formatIcE13format_outputERSoRKSs[_ZNK5boost6locale12basic_formatIcE13format_outputERSoRKSs]+0x1fb): undefined reference to `boost::locale::details::format_parser::~format_parser()'\n23:39:47 config.cc:(.text._ZNK5boost6locale12basic_formatIcE13format_outputERSoRKSs[_ZNK5boost6locale12basic_formatIcE13format_outputERSoRKSs]+0x49c): undefined reference to `boost::locale::details::format_parser::format_parser(std::ios_base&, void*, void (*)(void*, std::locale const&))'\n23:39:47 config.cc:(.text._ZNK5boost6locale12basic_formatIcE13format_outputERSoRKSs[_ZNK5boost6locale12basic_formatIcE13format_outputERSoRKSs]+0x502): undefined reference to `boost::locale::details::format_parser::restore()'\n23:39:47 config.cc:(.text._ZNK5boost6locale12basic_formatIcE13format_outputERSoRKSs[_ZNK5boost6locale12basic_formatIcE13format_outputERSoRKSs]+0x517): undefined reference to `boost::locale::details::format_parser::get_position()'\n23:39:47 config.cc:(.text._ZNK5boost6locale12basic_formatIcE13format_outputERSoRKSs[_ZNK5boost6locale12basic_formatIcE13format_outputERSoRKSs]+0x574): undefined reference to `boost::locale::details::format_parser::restore()'\n23:39:47 config.cc:(.text._ZNK5boost6locale12basic_formatIcE13format_outputERSoRKSs[_ZNK5boost6locale12basic_formatIcE13format_outputERSoRKSs]+0x5d4): undefined reference to `boost::locale::details::format_parser::~format_parser()'\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31743", "fixedVersions": ["pxp-agent 1.9.0"], "id": "31743", "issueType": "CI Blocker", "key": "PCP-799", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "resolution": "Duplicate", "resolutionDate": "2017-09-26T16:51:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "PXP-agent build fails on some platforms with undefined references to boost::locale::details routines", "timeSpent": "PT0S", "updated": "2018-03-14T01:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I have no idea why {{source /etc/profile", "created": "2017-09-25T10:58:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "There have been two different instances of this. One was when archiving log files, which started failing because the permissions on the log file and directory changed and scp (which doesn't run as root) wasn't able to access them.\n\nThis failure appears to happen intermittently when setting the puppet certname. It's using sudo, so a similar explanation about permissions doesn't make sense. So I'm not sure what could be going on.", "created": "2017-09-25T11:05:00.000000"}, {"author": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "body": "This is likely an issue with the image itself, which is something we probably don't intend to keep around", "created": "2017-09-25T23:49:00.000000"}], "components": [], "created": "2017-09-25T10:56:00.000000", "creator": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform puppet-agent"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5a09acfa"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzgzon:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Sep/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_22946107_*|*_1_*:*_1_*:*_23419930_*|*_6_*:*_1_*:*_0"}], "description": "https://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/master/view/Non-Standard/job/platform_puppet-agent_intn-van-sys_suite-secondary-pxp-agent-master/15/SLAVE_LABEL=beaker,TEST_TARGET=cisconx-64a/\n\nand\n\nhttps://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/5.3.x/view/Non-Standard/job/platform_puppet-agent_intn-van-sys_suite-secondary-pxp-agent-5.3.x/6/SLAVE_LABEL=beaker,TEST_TARGET=cisconx-64a/\n\nThis issue started happening Friday, 09/22/2017.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31732", "fixedVersions": ["pxp-agent 1.8.0", "pxp-agent 1.9.0"], "id": "31732", "issueType": "CI Blocker", "key": "PCP-798", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "resolution": "Won't Fix", "resolutionDate": "2017-09-25T23:49:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "ssh and scp failures on cisconx-64a when running pxp-agent tests", "timeSpent": "PT0S", "updated": "2018-03-14T13:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6361cbfc59c794184bcbd33a", "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2017-09-20T11:43:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4cf7ac46"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzkofj:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Configure task download timeouts with new options 'task-download-connect-timeout' and 'task-download-timeout'."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_437247867_*|*_1_*:*_1_*:*_17015375970_*|*_10007_*:*_1_*:*_235585406_*|*_3_*:*_1_*:*_21234087_*|*_5_*:*_1_*:*_3290891770_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1560692278"}], "description": "Make task download timeouts - initial connection timeout and file download timeout - configurable.\n\nDefault them to 2 minutes for connection timeout (to match Puppet) and 30 minutes for total file download time (to ensure eventual recovery but not impact most download use-cases).\n\nThis setting should be exposed through the puppet_enterprise module (PE-24204).", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32280", "fixedVersions": ["pxp-agent 1.9.2"], "id": "32280", "issueType": "Improvement", "key": "PCP-797", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2018-05-01T12:32:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Make task download timeouts configurable", "timeSpent": "PT0S", "updated": "2018-06-18T13:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:75cf0874-3831-4bb6-a7ff-b655ecaa1a81", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "1.5.4 was previously released.", "created": "2017-09-19T10:34:00.000000"}], "components": [], "created": "2017-09-18T14:12:00.000000", "creator": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@671889c3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "No Action"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzgs5r:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "19/Sep/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2317_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_73346702"}], "description": "1) Check that the version number in source for cpp-pcp-client is correct\n\n  version for cpp-pcp-client should be 1.5.4\n\n  * check {{CMakeLists.txt}} for the {{project(cpp-pcp-client VERSION X.Y.Z)}} variable, CHANGELOG.md for relevant notes.\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32279", "fixedVersions": ["cpp-pcp-client 1.5.4"], "id": "32279", "issueType": "Task", "key": "PCP-796", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "resolution": "Done", "resolutionDate": "2017-09-19T10:34:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Bump cpp-pcp-client version to 1.5.4", "timeSpent": "PT0S", "updated": "2017-09-20T09:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2017-09-18T14:12:00.000000", "creator": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1363d730"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "No Action"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzgs1z:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_71529237_*|*_1_*:*_1_*:*_2422_*|*_10007_*:*_1_*:*_950587_*|*_5_*:*_1_*:*_1090443480_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_14713508_*|*_10006_*:*_1_*:*_93508092"}], "description": "1) Check that the version number in source for pxp-agent is correct\n\n  version for pxp-agent should be 1.8.0\n\n  * check {{CMakeLists.txt}} for the {{project(pxp-agent VERSION X.Y.Z)}} variable, CHANGELOG.md for relevant notes.\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32078", "fixedVersions": ["pxp-agent 1.8.0"], "id": "32078", "issueType": "Task", "key": "PCP-795", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "resolution": "Fixed", "resolutionDate": "2017-10-03T07:17:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Bump pxp-agent version to 1.8.0", "timeSpent": "PT0S", "updated": "2017-10-03T07:17:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:1b9bde12-f0a1-4355-ab73-7fc4ec69ba79", "attachments": [{"attacher": "557058:669d4655-0c85-469a-a11c-e5290cf2955d", "created": "2017-09-15T14:48:00.000000", "name": "exit_code_8.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12353"}], "comments": [{"author": "557058:5e2d4e96-5ea8-42e3-9179-a3afcdccef2f", "body": "I think the gist here is that tasks that will run on Linux machines need a shebang at the start of the file. I think we should put this in the task writing docs. ", "created": "2017-09-15T15:03:00.000000"}, {"author": "557058:1b9bde12-f0a1-4355-ab73-7fc4ec69ba79", "body": "It might be a troubleshooting thing also. I'm still not totally clear on why it needs to be there... [~accountid:557058:669d4655-0c85-469a-a11c-e5290cf2955d], maybe you can explain this to me in the near future?", "created": "2017-09-15T15:52:00.000000"}, {"author": "557058:669d4655-0c85-469a-a11c-e5290cf2955d", "body": "Sure happy to explain [~accountid:557058:1b9bde12-f0a1-4355-ab73-7fc4ec69ba79]", "created": "2017-09-15T15:59:00.000000"}, {"author": "557058:1b9bde12-f0a1-4355-ab73-7fc4ec69ba79", "body": "Hey [~accountid:557058:669d4655-0c85-469a-a11c-e5290cf2955d], I no longer need this explained, but can you tell me if this relates to PE only?", "created": "2017-10-16T10:45:00.000000"}, {"author": "557058:669d4655-0c85-469a-a11c-e5290cf2955d", "body": "I'm not sure. I'll try it out. ", "created": "2017-10-16T10:53:00.000000"}, {"author": "557058:1b9bde12-f0a1-4355-ab73-7fc4ec69ba79", "body": "this is mentioned in the task writing docs, in a couple of relevant places.", "created": "2017-10-25T16:41:00.000000"}], "components": [], "created": "2017-09-15T14:49:00.000000", "creator": "557058:669d4655-0c85-469a-a11c-e5290cf2955d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@32f4939e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzgqkn:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Sep/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3547401_*|*_5_*:*_1_*:*_25904778424_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_3459223123"}], "description": "When I attempt to run a task without a shebang \nI get the following error\n\n{code}\n{\n  \"_error\" : {\n    \"msg\" : \"Task finished with exit-code 8\",\n    \"kind\" : \"puppetlabs.tasks/task-error\",\n    \"details\" : {\n      \"exit_code\" : 8\n    }\n  },\n  \"_output\" : \"\"\n}\n{code}\n\nExit code 8 needs to be documented as a task is missing a shebang\n* see attached screenshot", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32179", "fixedVersions": [], "id": "32179", "issueType": "Task", "key": "PCP-793", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:669d4655-0c85-469a-a11c-e5290cf2955d", "resolution": "Fixed", "resolutionDate": "2017-10-25T16:41:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Document exit code 8 for task run", "timeSpent": "PT0S", "updated": "2018-08-21T12:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:669d4655-0c85-469a-a11c-e5290cf2955d", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "The puppet-specification's PR and committed code for pxp-agent don't match, I plan to put up a PR for pxp-agent to address that.", "created": "2017-09-25T18:14:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "For acceptance testing, we should add a test that creates a non-root user and runs pxp-agent as that user, then verify we can run Puppet via that agent.", "created": "2017-09-29T09:55:00.000000"}, {"author": "557058:669d4655-0c85-469a-a11c-e5290cf2955d", "body": "I put up a PR that tests this.  When the service is started by the new user it exits 3 with no output.  ", "created": "2017-10-09T10:38:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Closer, most systems passed. AIX has a problem with {{su -l}}, and Solaris 11 has a problem with the home directory configuration.\n\nhttps://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/master/view/Non-Standard/job/platform_puppet-agent_intn-van-sys_suite-secondary-pxp-agent-master/24/", "created": "2017-10-14T16:21:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:669d4655-0c85-469a-a11c-e5290cf2955d] please provide release notes for this issue, if needed. Thanks!", "created": "2017-11-27T08:18:00.000000"}], "components": [], "created": "2017-09-14T16:20:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4898ab2a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyle3z:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "When run as an unprivileged user, pxp-agent will now use default user-directory paths, noted in https://github.com/puppetlabs/puppet-specifications/blob/master/file_paths.md#puppet-agent-non-root."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Oct/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_5_*:*_482377382_*|*_1_*:*_1_*:*_1638289_*|*_10007_*:*_4_*:*_1033921796_*|*_3_*:*_4_*:*_50424027_*|*_4_*:*_1_*:*_60658378_*|*_5_*:*_2_*:*_13164030393_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_2_*:*_1357169381"}], "description": "Should use paths consistent with other Puppet tools for non-root operation - declared in puppet-specifications/file_paths.md - and run without requiring any directories be created first.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32077", "fixedVersions": ["pxp-agent 1.9.0"], "id": "32077", "issueType": "Improvement", "key": "PCP-792", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-10-19T10:45:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Support non-root configuration defaults", "timeSpent": "PT0S", "updated": "2018-03-20T14:30:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This should already be happening... https://github.com/puppetlabs/pxp-agent/blob/1.7.0/lib/src/configuration.cc#L937", "created": "2017-09-14T10:08:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Description was updated to reflect when this happens: file is deleted while pxp-agent is running.", "created": "2017-10-17T11:00:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] please provide release notes for this issue, if needed. Thanks!", "created": "2017-11-27T08:19:00.000000"}], "components": [], "created": "2017-09-13T14:19:00.000000", "creator": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5222721d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzh1d3:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "pxp-agent will continue to function if task cache directory is deleted. Specific task runs may fail, subsequent runs will recreate the cache directory and re-download task files."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Sep/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_614572664_*|*_1_*:*_1_*:*_2928254193_*|*_10007_*:*_1_*:*_70918742_*|*_5_*:*_1_*:*_11239995522_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_74310941_*|*_10006_*:*_1_*:*_109029616_*|*_10005_*:*_1_*:*_1206789770"}], "description": "Once users discover the cache they'll want to delete it. PXP agent should recreate it in those cases, i.e. ensure the directory exists before trying to download a file to it.\n\nThe cache is recreated on startup, but if the cache is deleted without restarting pxp-agent downloads will fail.\n\nExpect to cover this behavior with unit tests.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32272", "fixedVersions": ["pxp-agent 1.9.0"], "id": "32272", "issueType": "Bug", "key": "PCP-791", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Minor", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "resolution": "Fixed", "resolutionDate": "2017-11-10T11:17:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "PXP agent fails to download task if tasks-cache has been deleted.", "timeSpent": "PT0S", "updated": "2018-03-20T14:30:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This appears to be a result of https://svn.boost.org/trac10/ticket/10205.", "created": "2017-09-08T11:28:00.000000"}, {"author": "557058:5e2d4e96-5ea8-42e3-9179-a3afcdccef2f", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] does this need a known issue? If this is resolved in a different version of pxp-agent that will ship in Hoyt?", "created": "2017-09-18T13:46:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Was a known issue for 1.7.0. I'll update to reflect the bug fix.", "created": "2017-09-18T14:11:00.000000"}, {"author": "557058:5e2d4e96-5ea8-42e3-9179-a3afcdccef2f", "body": "sorry, [~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e], my question didn't make sense. Since this is a task related bug that's now fixed, and since tasks hasn't been released yet, we probably don't need a release note.", "created": "2017-09-18T15:04:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Ah, probably true.", "created": "2017-09-18T15:06:00.000000"}], "components": ["pxp-agent"], "created": "2017-09-08T10:24:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Tests in PCP-771 should pass on Solaris 10."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3e9dbe7e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzgjt3:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Downloading tasks on Solaris and AIX now works."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "18/Sep/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_185019845_*|*_1_*:*_1_*:*_5432_*|*_3_*:*_1_*:*_351185314_*|*_5_*:*_1_*:*_1612572428_*|*_6_*:*_1_*:*_0"}], "description": "Running tests added in PCP-771 failed on Solaris 10. It appears to be a failure that only happens when downloading the task, not when running one already cached.\n\nWe get a message {{Failed to execute the task for the non blocking 'task run' request (transaction 7c355cbc-30db-4241-ad5f-0614bc2c27da). Unexpected error: locale::facet::_S_create_c_locale name not valid}}.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32178", "fixedVersions": ["pxp-agent 1.8.0"], "id": "32178", "issueType": "Story Bug", "key": "PCP-790", "labels": [], "originalEstimate": "PT0S", "parent": "32276", "parentSummary": "Add downloading tasks to pxp-agent when not already present", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-09-14T15:21:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Downloading tasks fails on Solaris, AIX", "timeSpent": "PT0S", "updated": "2018-03-22T01:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "attachments": [], "comments": [{"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "I wonder what's the purpose of non-string PowerShell script arguments [used in the referenced gist|https://gist.github.com/Iristyle/3b37ad44c93e3e00502d799344294d93#file-simple-task-ps1-L6-L8]?\nIs there a way to pass the argument as an integer on a PowerShell.exe command line at all?\nIf not, does it make sense to implement a work around to do so? Shouldn't the script be responsible for converting the value?", "created": "2017-09-08T12:16:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "The input is originally JSON, which is typed. Converting from JSON to Powershell objects will provide typed input. Scripts should be able to expect that.", "created": "2017-09-08T12:26:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "The point I was trying to make was that such scripts will be difficult to execute from command line (i.e. not through the puppet task infrastructure). How useful is a task if it's difficult to use from the command line? Will there be many of such tasks? IMO not. That's why I wonder if we need to support this.", "created": "2017-09-08T13:24:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Talking with [~accountid:557058:263afade-3e4f-46c6-b50a-cf2982192562] and [~accountid:63d40628f6e1b543161789a7], this is the best approach we came up with. Powershell users don't tend to run scripts by doing {{powershell <script> <args>}}, they tend to be in Powershell and run {{<scripts> <args>}}, where I'd expect something like {{& simple-task.ps1 -Argument1 \"Hello\" -Argument2 27}} to work.", "created": "2017-09-08T13:31:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "Ah, ok, that makes sense. Thanks for the explanation.", "created": "2017-09-08T13:44:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Renamed to {{input_method: powershell}} to be consistent with our spec.", "created": "2017-09-08T15:55:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Failed CI on the ja locale, due to date formatting. Decided to remove datetime from the test.", "created": "2017-09-14T10:59:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] please provide release notes for this issue, if needed. Thanks!", "created": "2017-09-18T10:02:00.000000"}], "components": ["pxp-agent"], "created": "2017-09-07T16:46:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Should be able to invoke a powershell task on Windows using named params, as in https://gist.github.com/Iristyle/3b37ad44c93e3e00502d799344294d93#file-simple-task-ps1."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@bc40c8c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyljpz:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Simplified tasks now support running powershell scripts with named parameters."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Sep/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_157357757_*|*_1_*:*_1_*:*_81276088_*|*_10007_*:*_2_*:*_107759891_*|*_3_*:*_1_*:*_253367512_*|*_5_*:*_1_*:*_1264005208_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_348516725"}], "description": "Support a new {{input_method}} - {{powershell}} - that supports invoking powershell (.ps1) scripts with named params. An example of this is provided at https://gist.github.com/Iristyle/3b37ad44c93e3e00502d799344294d93, along with how it could be setup from JSON input and invoked.\n\n- New {{input_method}} {{powershell}} that can be used with any task (but may not work)\n- The {{powershell}} method should be the default for any task where the file extension is {{.ps1}} (not just on Windows).\n- Top-level keys of the structured JSON input are translated into Powershell named params, with the values mapping to Powershell types (arrays, hashes, strings, booleans, integers).\n- Supports Powershell 2+.\n\nFor Powershell 2+ support, [~accountid:557058:263afade-3e4f-46c6-b50a-cf2982192562] is working on a variant of code used by azure-extensions ([json shim|https://github.com/puppetlabs/azure-extension-handler/blob/0c4208bbfc60e57fac534261f4046d2c6618cd12/installer/JSON_1.7.psm1], [version resolution|https://github.com/puppetlabs/azure-extension-handler/blob/0c4208bbfc60e57fac534261f4046d2c6618cd12/installer/contrib.ps1#L64-L87]).", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31550", "fixedVersions": ["pxp-agent 1.8.0"], "id": "31550", "issueType": "New Feature", "key": "PCP-789", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-09-18T16:11:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Support passing named params to powershell task", "timeSpent": "PT0S", "updated": "2017-10-03T07:17:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "attachments": [], "comments": [{"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "Version bumped at https://github.com/puppetlabs/pxp-agent/commit/b58d7c9bc9bddd7b1554913af800ea388df1f836", "created": "2017-09-08T16:36:00.000000"}], "components": [], "created": "2017-09-05T18:25:00.000000", "creator": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@75bebf8a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "No Action"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzghcn:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Sep/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2150_*|*_5_*:*_1_*:*_500608726_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_252619313"}], "description": "1) Check that the version number in source for pxp-agent is correct\n\n  version for pxp-agent should be 1.7.0\n\n  * check {{CMakeLists.txt}} for the {{project(pxp-agent VERSION X.Y.Z)}} variable, CHANGELOG.md for relevant notes.\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32278", "fixedVersions": ["pxp-agent 1.7.0"], "id": "32278", "issueType": "Task", "key": "PCP-787", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "resolution": "Fixed", "resolutionDate": "2017-09-14T11:39:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Bump pxp-agent version to 1.7.0", "timeSpent": "PT0S", "updated": "2017-09-14T11:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Decided to take a different approach.", "created": "2017-09-07T16:31:00.000000"}], "components": [], "created": "2017-09-05T17:17:00.000000", "creator": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2830a0d6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzgh7j:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "07/Sep/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_37395527_*|*_1_*:*_1_*:*_76115985_*|*_10007_*:*_1_*:*_52155429_*|*_3_*:*_1_*:*_4360179_*|*_6_*:*_1_*:*_0"}], "description": "As documented in TASKS-61 passing task parameters on stdin doesn't work with winrm and powershell. We should add a new input_method 'file' to support this as documented in the task spec:\n\nThis method should only be used when specified in the metadata\nThis method should be available on all platforms\nA file should be created in the spool dir with the json parameters\nThe task script should be called with the absolute path to the parameter file as it's only argument", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31740", "fixedVersions": [], "id": "31740", "issueType": "New Feature", "key": "PCP-788", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "resolution": "Won't Fix", "resolutionDate": "2017-09-07T16:31:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Support method of passing task parameters that works with winrm and powershell", "timeSpent": "PT0S", "updated": "2017-09-21T11:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This failure mode is difficult to reproduce. I see a few options:\n- Create a download endpoint that sleeps 20 seconds before responding, so that Orchestrator reaches its timeout waiting for a nonblocking response and sends a status request. Configure that download endpoint to return something that doesn't match the SHA or an error status response. Then try several times to trigger the race where the status response comes in before the nonblocking response.\n- Instrument Orchestrator to use {{notify_outcome=false}}, so we never get a nonblocking response. Configure pxp-agent to use an invalid {{master-uri}}.\n- Some proxy magic? We'd have to use SSL termination, unwrap the websocket messages and block just the rpc error message. Then rewrap in SSL so Orchestrator can use that for authentication.", "created": "2017-09-05T17:54:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] does this need to be re-targeted at version 1.7.1? Does a re-targeting have any impact on the other tickets related to PCP-761?", "created": "2017-09-06T12:49:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "[~accountid:557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced] does it? I was under the impression we still had time today to get bug fixes in.", "created": "2017-09-06T12:58:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e], yes there is still time on the clock. Just pro-actively checking.", "created": "2017-09-06T13:52:00.000000"}], "components": ["pxp-agent"], "created": "2017-09-01T11:44:00.000000", "creator": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6cd83e09"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzgewf:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Sep/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_157187102_*|*_1_*:*_1_*:*_152823_*|*_10007_*:*_1_*:*_72224864_*|*_3_*:*_1_*:*_9910484_*|*_5_*:*_1_*:*_257926459_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_267276977_*|*_10006_*:*_1_*:*_343718017_*|*_10005_*:*_1_*:*_14494215"}], "description": "Currently if task downloading fails nothing is written to metadata. Normally this doesn't cause a problem because pxp-agent will send an rpc error. In some cases we may ignore the error and rely on status requests to determine the state of the task. In this case since we didn't write to {{spool/<>/metadata}} we will not expose a helpful error to the user.\n\n# Any errors after we return the provisional response should be written to the metadata\n# Orchestrator should handle these the same regardless of whether they were returned in an rpc error message or a status response. IE it should move the node to the errored state with an \"execution-failure\"\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32076", "fixedVersions": ["pxp-agent 1.7.0"], "id": "32076", "issueType": "Story Bug", "key": "PCP-786", "labels": [], "originalEstimate": "PT0S", "parent": "32276", "parentSummary": "Add downloading tasks to pxp-agent when not already present", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "resolution": "Fixed", "resolutionDate": "2017-09-11T12:01:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "If task downloading fails the metadata in spool is updated.", "timeSpent": "PT0S", "updated": "2017-09-14T11:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "63d4062f69c7ae3958d276ed", "created": "2017-09-11T12:10:00.000000", "name": "screenshot-1.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12326"}], "comments": [{"author": "6361cbfc59c794184bcbd33a", "body": "!screenshot-1.png!\n\nWell, it sure ain't pretty, but it's helpful.", "created": "2017-09-11T12:10:00.000000"}], "components": [], "created": "2017-09-01T11:07:00.000000", "creator": "6361cbfc59c794184bcbd33a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3466740"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyma5r:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_233656655_*|*_1_*:*_1_*:*_16904962_*|*_10007_*:*_1_*:*_242629889_*|*_3_*:*_1_*:*_1831172_*|*_5_*:*_1_*:*_244589045_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_280640589_*|*_10006_*:*_1_*:*_104909387"}], "description": "If I configure pxp-agent to point to a server that isn't actually serving task files (but is instead serving up 404 pages), trying to run a task gives me an error that the SHA of the downloaded file didn't match. It should instead be reporting that the download gave a 404.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31549", "fixedVersions": ["pxp-agent 1.7.0"], "id": "31549", "issueType": "Story Bug", "key": "PCP-785", "labels": [], "originalEstimate": "PT0S", "parent": "32276", "parentSummary": "Add downloading tasks to pxp-agent when not already present", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "6361cbfc59c794184bcbd33a", "resolution": "Fixed", "resolutionDate": "2017-09-11T15:43:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Failed task downloads just report a SHA mismatch", "timeSpent": "PT0S", "updated": "2017-09-14T11:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2017-08-31T16:18:00.000000", "creator": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@142db106"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzgelj:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_665167727_*|*_1_*:*_1_*:*_841833_*|*_10007_*:*_1_*:*_1652767_*|*_5_*:*_1_*:*_84741614_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_440466943"}], "description": "If a task exits 5 it will trigger a ModuleProcessing error \"failed to write output on file\"\n\nthe user will see the unhelpful message:\n{noformat}\nErrored on y9myikitkf3r43m.delivery.puppetlabs.net\n  msg : Failed to execute the task for the non blocking 'task run' request (transaction 9). Error: failed to write output on file\n  kind : puppetlabs.orchestrator/execution-failure\n  details : \n    node : y9myikitkf3r43m.delivery.puppetlabs.net\n{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31726", "fixedVersions": ["pxp-agent 1.7.0"], "id": "31726", "issueType": "Story Bug", "key": "PCP-784", "labels": [], "originalEstimate": "PT0S", "parent": "32276", "parentSummary": "Add downloading tasks to pxp-agent when not already present", "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "resolution": "Fixed", "resolutionDate": "2017-09-13T12:07:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Tasks using \"reserved\" pxp exit-codes can cause unexpected errors", "timeSpent": "PT0S", "updated": "2017-09-14T11:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2017-08-30T14:32:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform puppet-agent suite"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@27125f82"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzgd33:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_78580552_*|*_1_*:*_1_*:*_99872_*|*_10007_*:*_1_*:*_1463271_*|*_5_*:*_1_*:*_587240263_*|*_6_*:*_1_*:*_0"}], "description": "Acceptance tests fail on pxp-module-puppet tests that look for sleep process.\n\nhttps://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/1.10.x/view/Non-Standard/job/platform_puppet-agent_intn-van-sys_suite-secondary-pxp-agent-1.10.x/5/SLAVE_LABEL=beaker,TEST_TARGET=aix71-POWERfa/", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31548", "fixedVersions": ["pxp-agent 1.5.5", "pxp-agent 1.7.0"], "id": "31548", "issueType": "CI Blocker", "key": "PCP-783", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-08-31T12:48:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Acceptance tests fail on AIX 7.1", "timeSpent": "PT0S", "updated": "2017-09-07T07:55:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2017-08-30T10:08:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@55ec37ba"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzgcif:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_72155126_*|*_1_*:*_1_*:*_19760_*|*_10007_*:*_1_*:*_14630963_*|*_3_*:*_1_*:*_4410078_*|*_5_*:*_1_*:*_1204566502_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_5692328"}], "description": "master-uris is expected to correspond to Puppet's server_list. That setting supports declaration with and without ports (without ports defaults to 8140). We should support both as well to make configuration easy.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31893", "fixedVersions": ["pxp-agent 1.7.0"], "id": "31893", "issueType": "Story Bug", "key": "PCP-782", "labels": [], "originalEstimate": "PT0S", "parent": "32276", "parentSummary": "Add downloading tasks to pxp-agent when not already present", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-08-31T13:03:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "master-uris should support uris without port specified, default to 8140", "timeSpent": "PT0S", "updated": "2017-09-14T11:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "attachments": [], "comments": [], "components": [], "created": "2017-08-25T14:42:00.000000", "creator": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1d6b02b6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzg8v3:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_134657_*|*_10007_*:*_1_*:*_1184819_*|*_3_*:*_1_*:*_132342_*|*_6_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31892", "fixedVersions": ["pxp-agent 1.5.5"], "id": "31892", "issueType": "Task", "key": "PCP-781", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "resolution": "Fixed", "resolutionDate": "2017-08-25T15:07:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Bump pxp-agent version to 1.5.5 before 1.10.7 agent release", "timeSpent": "PT0S", "updated": "2017-08-25T15:07:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Testing covered by existing acceptance tests.", "created": "2017-08-25T11:19:00.000000"}], "components": ["pxp-agent"], "created": "2017-08-18T11:16:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Re-enable {{tests/pxp-module-puppet/run_puppet_agent_disabled.rb}} and {{tests/pxp-module-puppet/run_puppet_twice.rb}} for Japanese locale tests."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1d0fd126"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzg3if:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_116418756_*|*_1_*:*_1_*:*_9806_*|*_10007_*:*_1_*:*_416959359_*|*_3_*:*_1_*:*_8667158_*|*_5_*:*_1_*:*_1729232114_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_60826083_*|*_10005_*:*_1_*:*_2116987"}], "description": "pxp-module-puppet can't detect that a run failed because Puppet was disabled or because Puppet was already running when Puppet's output is translated. What we currently try to do is\n- if Puppet's disabled, return an error message to that effect\n- if Puppet's running, wait until it stops and start a new run\nThe safe option for now when working with translated code is to error in either case.\n\nA possible approach for fixing this is to search for the lock files on disk. A running Puppet instance uses {{agent_catalog_run_lockfile}}, while a locked Puppet instance uses {{agent_disabled_lockfile}}. We should use the presence of these as indicators for why the Puppet run failed.\n\nAlso, catching {{Encoding::InvalidByteSequenceError}} is no longer sufficient when converting output to UTF-8. With Japanese characters present we also need to catch {{Encoding::UndefinedConversionError}}.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31735", "fixedVersions": ["pxp-agent 1.7.0"], "id": "31735", "issueType": "Bug", "key": "PCP-776", "labels": ["i18n"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-08-25T11:19:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Running Puppet can't detect disabled or already running Puppet instance with translated locale", "timeSpent": "PT0S", "updated": "2017-09-14T11:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:71582ab7-ed41-48f8-a53e-545356d7dee4", "body": "PRs:\nhttps://github.com/puppetlabs/cpp-pcp-client/pull/228\nhttps://github.com/puppetlabs/pxp-agent/pull/620", "created": "2017-08-14T16:48:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:71582ab7-ed41-48f8-a53e-545356d7dee4] please add release notes for this issue, if needed.", "created": "2017-08-28T08:24:00.000000"}, {"author": "557058:71582ab7-ed41-48f8-a53e-545356d7dee4", "body": "Thanks Michael. Appreciated. ", "created": "2017-08-28T10:29:00.000000"}], "components": ["cpp-pcp-client", "pxp-agent", "pxp-agent package"], "created": "2017-08-14T11:16:00.000000", "creator": "557058:71582ab7-ed41-48f8-a53e-545356d7dee4", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Windows binaries (exe's, dll's) in pxp-agent and cpp-pcp-client should have the NXCOMPAT and ASLR flags enabled. "}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@71384aa4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzfz0f:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Enable nxcompat and dynamicbase flags in Windows builds of pxp-agent."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/Aug/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_863145769_*|*_1_*:*_1_*:*_19788421_*|*_10009_*:*_1_*:*_79887807_*|*_5_*:*_1_*:*_1098712586_*|*_6_*:*_1_*:*_0"}], "description": " Being done to meet some customer's security audit requirements.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31891", "fixedVersions": ["cpp-pcp-client 1.5.4", "pxp-agent 1.5.5", "pxp-agent 1.7.0"], "id": "31891", "issueType": "Task", "key": "PCP-775", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:71582ab7-ed41-48f8-a53e-545356d7dee4", "resolution": "Fixed", "resolutionDate": "2017-08-25T14:43:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Enable DEP support in Windows version of PCP binaries", "timeSpent": "PT0S", "updated": "2017-09-07T07:55:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2017-08-03T15:16:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@43ede266"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzfo8n:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1191607_*|*_10007_*:*_1_*:*_1277990475_*|*_5_*:*_1_*:*_2336641786_*|*_6_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31547", "fixedVersions": ["pxp-agent 1.7.0"], "id": "31547", "issueType": "Sub-task", "key": "PCP-774", "labels": [], "originalEstimate": "PT0S", "parent": "32276", "parentSummary": "Add downloading tasks to pxp-agent when not already present", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-08-18T10:35:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add tasks-cache to puppet-specifications", "timeSpent": "PT0S", "updated": "2017-09-14T11:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2017-08-01T15:42:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1be3ab67"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzfo93:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_493237502_*|*_1_*:*_1_*:*_1904308417_*|*_10007_*:*_1_*:*_2939644_*|*_3_*:*_1_*:*_172531205_*|*_5_*:*_1_*:*_1204570597_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_9443648"}], "description": "When attempting to download a task file, if the host is unreachable, failover to other {{master-uris}} until each has been tried.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31731", "fixedVersions": ["pxp-agent 1.7.0"], "id": "31731", "issueType": "Sub-task", "key": "PCP-773", "labels": [], "originalEstimate": "PT0S", "parent": "32276", "parentSummary": "Add downloading tasks to pxp-agent when not already present", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-08-31T13:03:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Implement client-side failover for task downloads", "timeSpent": "PT0S", "updated": "2017-09-14T11:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2017-08-01T11:08:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6b862de6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzfo9z:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_99358212_*|*_1_*:*_1_*:*_2613317667_*|*_10007_*:*_1_*:*_218879747_*|*_3_*:*_2_*:*_362402849_*|*_5_*:*_1_*:*_1543359712_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_69204272_*|*_10004_*:*_1_*:*_522834289"}], "description": "Use Jetty's built-in static file hosting with pcp-broker, and test against that.\n\n{code}\nstatic-content: [{\n  path: /task-files\n  resource: /path/to/tasks\n  follow-links: false\n}]\n{code}\n\nSend run requests using ruby-pcp-client that include the {{files}} properties with details to download those files. There is at least one error case that this needs to test:\n\n(1) Ensure that when the downloaded task file's SHA does not match the SHA sent by orchestrator, the following is printed to stdout:\n\n{code}\n{\"_error\":{\"kind\":\"puppetlabs.tasks/task-version-conflict\",\"msg\":\"The downloaded {filename}'s sha differs from the provided sha\"}}\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31724", "fixedVersions": ["pxp-agent 1.8.0"], "id": "31724", "issueType": "Sub-task", "key": "PCP-771", "labels": [], "originalEstimate": "PT0S", "parent": "32276", "parentSummary": "Add downloading tasks to pxp-agent when not already present", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-09-15T10:35:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Acceptance testing", "timeSpent": "PT0S", "updated": "2017-10-03T07:17:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:669d4655-0c85-469a-a11c-e5290cf2955d", "attachments": [], "comments": [{"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "[~accountid:557058:669d4655-0c85-469a-a11c-e5290cf2955d], should this be re-targeted to pxp-agent 1.7.x?", "created": "2017-09-11T10:43:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:669d4655-0c85-469a-a11c-e5290cf2955d] can this be resolved now that pxp-agent 1.7.0 has shipped?", "created": "2017-09-14T11:34:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "Actually noticed that the parent issue was targeted for 1.7.1 (prolly should be 1.8.0 instead), so I just updated the version here to match.", "created": "2017-09-14T11:36:00.000000"}], "components": ["pxp-agent"], "created": "2017-08-01T11:07:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@378de16b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzfo9j:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/Sep/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2610508548_*|*_3_*:*_1_*:*_1293859965_*|*_5_*:*_1_*:*_1525050967_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_5600"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31546", "fixedVersions": ["pxp-agent 1.8.0"], "id": "31546", "issueType": "Sub-task", "key": "PCP-770", "labels": [], "originalEstimate": "PT0S", "parent": "32276", "parentSummary": "Add downloading tasks to pxp-agent when not already present", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-09-15T15:40:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Exploratory testing", "timeSpent": "PT0S", "updated": "2017-10-03T07:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Failed CI, now blocked on PA-1447.", "created": "2017-08-24T11:13:00.000000"}], "components": ["pxp-agent"], "created": "2017-08-01T11:06:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4cfdee76"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzfo8f:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_4_*:*_563101900_*|*_1_*:*_1_*:*_16151825_*|*_10007_*:*_3_*:*_21803305_*|*_3_*:*_1_*:*_1904535871_*|*_5_*:*_1_*:*_1204592990_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_9443299_*|*_10004_*:*_1_*:*_83952599"}], "description": "If no directory in \"tasks-cache\" is named according to the \"sha256\" of the first file, create it. Otherwise update the last modified time of it. Ensure the directory is only readable/writable by pxp-agent owner/group.\n\nIf a file matching the \"path\" of the first file does not exist OR if that file's hash does not match the specified SHA, then:\n* Download the file from the first entry in {{master-uris}} (using libcurl) to a temporary name (and make it executable, and readable/writable only by owner/group). If download fails, return a PXP error.\n* If the file downloaded doesn't match the provided \"sha256\", return a PXP error. This detects if the version of the task has changed since the run was requested.\n* Atomically rename it to the tasks-cache/<sha256>/<path>.\n\n\nStart running the task via task helper in a separate process. Pass just the \"path\" of the first file (as \"task\") and \"input\" properties.\n\n---\n\nWork on this could start in-parallel with PCP-767 (figuring out how to do sha256 and download a file in C++), but is otherwise blocked on it.\n\nDownload a file is probably https://stackoverflow.com/a/1636415\nSHA256 uses https://www.openssl.org/docs/man1.1.0/crypto/SHA256_Init.html\ntask.exe would make a good playground for getting the above logic working until PCP-767 is done.\n\nWe should preserve the old task selection behavior when {{files}} is not present to avoid breaking existing workflows, until we can get PE updated and configured with PE-21606.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32270", "fixedVersions": ["pxp-agent 1.7.0"], "id": "32270", "issueType": "Sub-task", "key": "PCP-769", "labels": [], "originalEstimate": "PT0S", "parent": "32276", "parentSummary": "Add downloading tasks to pxp-agent when not already present", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-08-31T13:03:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Download tasks from master-uris", "timeSpent": "PT0S", "updated": "2017-09-14T11:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2017-08-01T10:59:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@65e033c3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzfo0v:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_799610_*|*_1_*:*_1_*:*_16273661_*|*_10007_*:*_1_*:*_1220932621_*|*_3_*:*_1_*:*_2833522_*|*_5_*:*_1_*:*_2062211239_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_500970155"}], "description": "Add {{master-uris}} that takes an array in {{https://hostname:port}} format. Used to specify the hosts that provide task files, and the protocol it serves them over (HTTP vs HTTPS). Array of names is used to support failover in case a request fails.\n\nDocument the config option in the pxp-agent README.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31890", "fixedVersions": ["pxp-agent 1.7.0"], "id": "31890", "issueType": "Sub-task", "key": "PCP-768", "labels": [], "originalEstimate": "PT0S", "parent": "32276", "parentSummary": "Add downloading tasks to pxp-agent when not already present", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-08-21T14:49:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add a configuration option to specify hostname and port for task file download", "timeSpent": "PT0S", "updated": "2017-09-14T11:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This failed on Windows, needed to re-open LTH-138 as it was incomplete.", "created": "2017-08-17T14:07:00.000000"}], "components": ["pxp-agent"], "created": "2017-08-01T10:57:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@11cd608"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzfo0n:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_167761843_*|*_1_*:*_1_*:*_20462719_*|*_10007_*:*_1_*:*_81613740_*|*_3_*:*_1_*:*_1195743876_*|*_5_*:*_1_*:*_2062216808_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_276337911"}], "description": "Subclass the external_module class for tasks as a new tasks internal module, and have it call the tasks helper (install location renamed from modules/task to bin/task). Drop use of querying PXP module metadata from the task helper (aka we won't call task metadata).\n\nThe task helper should be updated to expect a file path rather than task name, and run that (error if file not found). It should continue to provide built-in helpers for specific file extensions. Code to find a local file should be moved to the internal module.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31729", "fixedVersions": ["pxp-agent 1.7.0"], "id": "31729", "issueType": "Sub-task", "key": "PCP-767", "labels": [], "originalEstimate": "PT0S", "parent": "32276", "parentSummary": "Add downloading tasks to pxp-agent when not already present", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-08-21T14:49:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Create internal \"task\" module", "timeSpent": "PT0S", "updated": "2017-09-14T11:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [{"author": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "body": "[~accountid:623c0c6f94742a00683e3e63] Forgive my ignorance, but it sounds like this (or maybe PA-1408) means directories in {{/opt/puppetlabs/pxp-agent}} should have 750 permissions. Instead, they have 755 (build 2017.3.0-rc8-3-g4c3cfd6):\n\n[root@etgrcsuafdmoo5i ~]# ls -l /opt/puppetlabs/pxp-agent/\ntotal 4\ndrwxr-xr-x. 2 root root   30 Aug 28 09:23 modules\ndrwxr-xr-x. 5 root root   30 Aug 28 09:29 spool\ndrwxr-xr-x. 9 root root 4096 Aug 28 09:29 tasks\n\nThe contents of the spool directory have 750 permissions, but not the spool directory itself. Can you be more specific in the ticket about which directories and files should have which permissions? Thanks!", "created": "2017-08-28T10:46:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "It should mean that pxp-agent, modules, spool, tasks-cache all have 750. Since you don't have a tasks-cache dir, I suspect that build doesn't have PA-1408.\n\n[~accountid:557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe] these are not yet available in PE builds. I believe I noted they passed CI, but other failures prevented promotion into PE.", "created": "2017-08-28T11:03:00.000000"}, {"author": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "body": "M'k --should this get kicked back to integrating then?", "created": "2017-08-28T11:24:00.000000"}, {"author": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] 2 questions. 1, I'm not sure how this is different from PA-1408. 2. I think the directory needs to have the execute permission in order for it to be accessed, so 750 makes more sense than 640. Is this ticket for the contents of those directories? It looks like some of the files in `/opt/puppetlabs/pxp-agent/spool/1/` have 640, and some have 644:\n\n{code}\n[root@xktcexlqudhshlc pxp-agent]# ls -l spool/1/\ntotal 16\n-rw-r--r--. 1 root root   2 Aug 31 09:22 exitcode\n-rw-r-----. 1 root root 931 Aug 31 09:22 metadata\n-rw-r-----. 1 root root   6 Aug 31 09:19 pid\n-rw-r--r--. 1 root root   0 Aug 31 09:19 stderr\n-rw-r--r--. 1 root root 324 Aug 31 09:22 stdout\n{code}", "created": "2017-08-31T10:51:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Ah, this would specifically be the files written there, rather than the directories that are created. On Linux files don't inherit their permissions from the directories they're created in.", "created": "2017-08-31T11:04:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "[~accountid:557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe] is that for a pxp-module-puppet run? I guess the description was a little sparse, but pxp-module-puppet follows a different code path and wasn't updated. We were primarily preventing writing task output with 644.\n\nIt might be worth updating pxp-module-puppet to do the same just to make it consistent. Put up a new PR to do that.", "created": "2017-08-31T11:05:00.000000"}, {"author": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "body": "I'm sorry, I haven't interacted with pxp-module-puppet, so I'm fairly sure that that wasn't for a pxp-module-puppet run. How do I trigger those?\n\nIf it's easier for you to verify this that might be best? Or if you can tell me which full-paths should have 644 I can verify that on the system I've got set up. ", "created": "2017-08-31T13:13:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "If you ran a task using the latest pxp-agent build in PE, then it should have all files in {{<spool-dir>/<n>}} using mode 0640.\n\nIt won't change the permissions of older runs. Looking at the logs on that test system, it looks like you're running into the same setup issues [~accountid:557058:669d4655-0c85-469a-a11c-e5290cf2955d] is working on for acceptance tests", "created": "2017-08-31T13:22:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Merged a fix for pxp-module-puppet as well that's still being promoted into PE, to ensure it also writes files with 0640.", "created": "2017-09-01T11:26:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] please provide release notes for this issue, if needed. Thanks!", "created": "2017-09-11T09:59:00.000000"}], "components": [], "created": "2017-07-28T18:14:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Individual job directories under spool-dir should have permissions of 0750, and the contents of those directories should have permission 0640, for any task run with the latest PXP agent."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@503e1918"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyljpj:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Ensures spool dir contents and pxp-agent logs are restricted to 0640 so they can't be modified or viewed. No sensitive information was contained in these by default, this is a precaution around future use."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/Aug/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_3_*:*_457999156_*|*_1_*:*_1_*:*_1619599404_*|*_10007_*:*_1_*:*_497693476_*|*_5_*:*_1_*:*_777604517_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_3_*:*_755279430_*|*_10006_*:*_1_*:*_15331115"}], "description": "With spool-dir handling arbitrary output, the permissions should be changed to 0640 to prevent anyone reading task output.\n\nLogfile should also be restricted to 0640.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32177", "fixedVersions": ["pxp-agent 1.7.0"], "id": "32177", "issueType": "Bug", "key": "PCP-766", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-09-05T11:39:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "World should not be able to read spool-dir", "timeSpent": "PT0S", "updated": "2017-09-14T11:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This may be redundant if we just use the url and query params provided from task metadata.", "created": "2017-07-31T11:13:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Addressed in PCP-761.", "created": "2017-08-28T11:52:00.000000"}], "components": ["pxp-agent"], "created": "2017-07-28T15:14:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@229b30cb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzfmen:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2666252555_*|*_6_*:*_1_*:*_0"}], "description": "If code-id is provided in the {{params}} passed to the _task_ module in pxp-agent, use code-id instead of environment to download the task file.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32269", "fixedVersions": [], "id": "32269", "issueType": "Story", "key": "PCP-765", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Duplicate", "resolutionDate": "2017-08-28T11:52:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Download a specific version of a task", "timeSpent": "PT0S", "updated": "2017-08-28T11:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Seems like a fairly niche optimization.", "created": "2017-07-31T11:12:00.000000"}, {"author": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "body": "This is not going to make the cut for v1", "created": "2017-08-28T11:51:00.000000"}], "components": ["pxp-agent"], "created": "2017-07-28T15:11:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@f5894f4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzfmef:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/Aug/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2666446409_*|*_6_*:*_1_*:*_0"}], "description": "If a task is requested multiple times close together, we may end up downloading multiple copies of the same task.\n\nUse a registry mapping task version to promise for the delivery of that task. When a task run is requested, it should start a thread that atomically gets or creates a tasks promise in the registry, then when that promise is realized atomically removes it (only if still the same promise) from the registry and invokes the task helper. After task helper starts, we send provisional response; remaining logic is captured in external module implementation. If a PXP error is generated as a result of the promise, each task waiting on that promise should return the error.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32176", "fixedVersions": [], "id": "32176", "issueType": "Story", "key": "PCP-764", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Minor", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Won't Fix", "resolutionDate": "2017-08-28T11:52:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Only download a task version once", "timeSpent": "PT0S", "updated": "2017-08-28T11:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6361cbfc59c794184bcbd33a", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This has low priority, as tasks grow at human-scale and don't seem likely to take up a lot of space in near-term scale.", "created": "2017-07-31T11:11:00.000000"}, {"author": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "body": "We're considering pushing this into a bug fix", "created": "2017-08-28T11:50:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "For implementation, I'd suggest re-using the spool dir cleanup thread to also cleanup tasks cache. It currently runs every {{spool-dir-purge-ttl}}", "created": "2017-11-03T11:34:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] please add release notes for this issue, if needed. Thanks!", "created": "2018-02-05T08:27:00.000000"}], "components": ["pxp-agent"], "created": "2017-07-28T15:04:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@66904106"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzi3q7:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Cached tasks that have not been used in {{task-cache-dir-purge-ttl}} - expressed as a time duration such as 30m, 4h, 1d - will be removed from disk. Running them later will redownload from the {{master-uri}}. Default {{task-cache-dir-purge-ttl}} is {{14d}} (days).\n\nAlso updates the spool directory purge to be checked at least hourly, so directories will only be kept around for {{spool-dir-purge-ttl + 1 hour}}, rather than {{2 * spool-dir-purge-ttl}}."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/Aug/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_6986431922_*|*_3_*:*_1_*:*_6825420548_*|*_5_*:*_1_*:*_4591618171_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_691803841_*|*_10005_*:*_1_*:*_1206731232"}], "description": "Task versions that were cached locally should not be kept forever. Many will likely go out of use at some point in the future. Remove old tasks that haven't been used in awhile.\n\n----\n\nAdd a config option \"task-cache-dir-purge-ttl\" for how long tasks should be cached. Use the usual time unit conventions for normal human time. Default value is \"14d\". Document this config option in pxp-agent's README.\n\nWhen running a task, update the \"last used\" date to \"now\".\n\nAs part of the spool dir cleanup thread, delete any tasks directories that have not been modified in the cache lifetime. That thread currently runs every {{spool-dir-purge-ttl}}; update that to {{min('1h', gcd(spool-dir-purge-ttl, task-cache-dir-purge-ttl))}}.\n\nAdd a mutex to prevent the spool/cache cleanup thread from cleaning up while a task is getting downloaded/updated. Mutex would likely live in the RequestProcessor class (for use by purge thread) and get passed to the task module during execution.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32075", "fixedVersions": ["pxp-agent 1.9.0"], "id": "32075", "issueType": "Story", "key": "PCP-763", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Minor", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2018-01-26T10:03:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Remove old tasks from pxp-agent cache", "timeSpent": "PT0S", "updated": "2018-06-18T13:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "An additional note: the location of tasks-cache should be overridable via configuration, similar to {{spool-dir}}.", "created": "2017-08-03T17:39:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] is it true that all the code has landed for this and only testing activities remain?", "created": "2017-08-31T07:13:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I believe so.", "created": "2017-08-31T10:28:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] please provide release notes for this issue, if needed.", "created": "2017-09-06T14:58:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This has a known issue for pxp-agent 1.7.0: it currently fails to download tasks on Solaris. Planning to resolve in pxp-agent 1.7.1/1.8.0.", "created": "2017-09-07T16:24:00.000000"}], "components": ["pxp-agent"], "created": "2017-07-28T14:35:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "When running a task is requested, pxp-agent should check to see if the version of the file (denoted by a SHA) is already downloaded, and if not download it. Then run it."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4dcab996"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyljnz:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "pxp-agent adds support for running simplified tasks via a new module"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "5.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "31/Aug/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_247096740_*|*_3_*:*_1_*:*_2515969483_*|*_5_*:*_1_*:*_1522404909_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_1308074779_*|*_10006_*:*_2_*:*_82030297_*|*_10005_*:*_1_*:*_86942223"}], "description": "A new internal _task_ module should first check if the specific version of the file is present at {{tasks-cache/<sha>}}. If the directory isn't present, create it. If the file isn't present, download that file and atomically swap it into place (in case multiple attempts to run the task are started close together). Ensure secure permissions for the file.\n\nOn Windows that's {{C:/ProgramData/PuppetLabs/pxp-agent/tasks-cache/<sha>/<task>}}, everywhere else it's {{/opt/puppetlabs/pxp-agent/tasks-cache/<sha>/<task>}}.\n\nDetails required to run the task will be sent by Orchestrator (ORCH-1838):\n{code}\n{\n  \"task\": \"package::install\",\n  \"files:\" [{\n    \"filename\": \"task.exe\",\n    \"sha256\": \"1bcda47...\",\n    \"uri\": {\n      \"path\": \"/puppet/v3/tasks/package/install.rb\",\n      \"params\": {\"environment\": \"production\", \"code-id\": \"acdf1029\"}}\n  }],\n  \"input\": {\n    ...\n  }\n}\n{code}\n\nThen run the task using the task wrapper.\n\n----\n\nSubclass the external_module class for tasks as a new tasks internal module, and have it call the tasks helper (install location renamed from modules/task to bin/task). Drop use of querying PXP module metadata from the [task helper|https://github.com/puppetlabs/pxp-agent/blob/master/exe/task.cc] (aka we won't call {{task metadata}}).\n\nA new configuration option is needed to specify the hostname:port to download the task from.\n\nThe task helper should be updated to expect a file path rather than task name, and run that (error if file not found). It should continue to provide built-in helpers for specific file extensions.\n\nThe _task_ module should expect the params field to match the schema\n{code}\n{\n  \"properties\": {\n    \"task\": { \"type\": \"string\" },\n    \"files\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"required\": [ \"filename\", \"sha256\", \"uri\" ],\n        \"properties\": {\n          \"filename\": { \"type\": \"string\" },\n          \"sha256\": { \"type\": \"string\" }\n          \"uri\": {\n            \"type\": \"object\",\n            \"properties\": {\n              \"path\": { \"type\": \"string\" },\n              \"params\": { \"type\": \"object\" }\n            }\n          }\n        }\n      }\n    },\n    \"input\": { \"type\": \"object\" }\n  },\n  \"required\": [ \"task\", \"input\", \"files\" ],\n  \"type\": \"object\",\n  \"additionalProperties\": true\n}\n{code}\n\nWhen called, the module's \"run\" action should:\n* If no directory in \"tasks-cache\" is named according to the \"sha256\" of the first file, create it. Otherwise update the last modified time of it.\n* Ensure the directory is only readable/writable by pxp-agent owner/group.\n* If a file matching the \"path\" of the first file does not exist:\n** Download the file (using libcurl) to a temporary name (and make it executable, and readable/writable only by owner/group). If download fails, return a PXP error.\n** If the file downloaded doesn't match the provided \"sha256\", return a PXP error. This detects if the version of the task has changed since the run was requested.\n** Atomically rename it to the {{tasks-cache/<sha256>/<path>}}.\n* Start running the task via task helper in a separate process. Pass just the \"path\" of the first file (as \"task\") and \"input\" properties.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32276", "fixedVersions": ["pxp-agent 1.8.0"], "id": "32276", "issueType": "Story", "key": "PCP-761", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-09-15T16:24:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add downloading tasks to pxp-agent when not already present", "timeSpent": "PT0S", "updated": "2017-10-03T07:17:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2017-07-24T12:03:00.000000", "creator": "6361cbfc59c794184bcbd33a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4bb42cbb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzfhov:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Noted in repo changelog, never released in PE."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_338588_*|*_1_*:*_1_*:*_124659_*|*_10007_*:*_1_*:*_224048_*|*_5_*:*_1_*:*_0"}], "description": "Due to a race condition in controller connection, it's possible for messages to be received from a newly-open connection before all the internal state tracking has been updated to recognize that the connection is open. That causes pcp-broker to defensively drop the message.\n\nBecause orchestrator immediately sends an inventory request to the broker on connection, this issue will cause orchestrator to permanently have an empty inventory for that broker. That means agents connected to that broker are effectively disconnected from the PCP network until either the broker or orchestrator restarts.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31545", "fixedVersions": ["pcp-broker 1.4.1"], "id": "31545", "issueType": "Bug", "key": "PCP-760", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "6361cbfc59c794184bcbd33a", "resolution": "Fixed", "resolutionDate": "2017-07-24T12:14:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Requests received immediately after controller connection can be dropped", "timeSpent": "PT0S", "updated": "2017-07-24T12:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2017-07-06T02:44:00.000000", "creator": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Given a Beaker config referencing an EC2 master host, the puppet acceptance {{ci:test:aio}} rake task should successfully deploy a running puppetserver master."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@11e3efeb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Automate"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzf5nj:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_231787696_*|*_1_*:*_1_*:*_2297048_*|*_10007_*:*_1_*:*_80067470_*|*_3_*:*_1_*:*_29120816_*|*_5_*:*_2_*:*_797834997_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_27571869"}], "description": "Currently, the pre-suites for acceptance testing install puppetserver from a repo that is not available from EC2. These pre-suites should be amended to facilitate the installation of puppetserver 'latest' or a given {{SERVER_VERSION}} value on EC2.", "environment": "Amazon EC2", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31619", "fixedVersions": ["pxp-agent 1.5.4", "pxp-agent 1.6.1"], "id": "31619", "issueType": "Task", "key": "PCP-759", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "resolution": "Fixed", "resolutionDate": "2017-07-10T09:46:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Enable acceptance pre-suite to install puppetserver on EC2", "timeSpent": "PT0S", "updated": "2017-07-19T15:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Needs some work on Windows, tests didn't cover everything.", "created": "2017-07-11T16:24:00.000000"}], "components": ["pxp-agent"], "created": "2017-07-05T16:40:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1cdc3f7a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzf5gn:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "A 'task' module that simplifies writing scripts to execute over PXP."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_40084376_*|*_1_*:*_1_*:*_442587619_*|*_10007_*:*_2_*:*_464828140_*|*_3_*:*_1_*:*_4321409_*|*_5_*:*_2_*:*_5164542234_*|*_6_*:*_1_*:*_0"}], "description": "Spike a simpler way to write modules. Currently a bunch of boiler-plate is necessary for handling output from a module: create a wrapper that handles redirecting all that to files (as part of the external_module framework) and error cases that can arise. Also introduces a new potential location for these simpler modules.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31618", "fixedVersions": ["pxp-agent 1.7.0"], "id": "31618", "issueType": "Improvement", "key": "PCP-758", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-07-17T10:08:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Spike a simpler format for writing modules", "timeSpent": "PT0S", "updated": "2017-09-14T11:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6361cbfc59c794184bcbd33a", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I'd propose fixing this by changing how the pcp-broker responds to new connections - reject them outright - when it can't make any configured controller connections. I have a proposed fix at https://github.com/MikaelSmith/pcp-broker/tree/reject-connections.", "created": "2017-07-06T10:02:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "[~accountid:63d4062f69c7ae3958d276ed] my concern around closing the port entirely is that we'd probably need to do it by stopping the trapperkeeper webserver service, and then restarting it later. I'm a bit worried about directly controlling that lifecycle, like how does that interact with HUP and how do we access the service. We don't really provide a standard way to do those things.", "created": "2017-07-19T14:54:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "To shut down the webserver service, we'd have to reach deep into trapperkeeper internals. The [Reloaded Pattern|https://github.com/puppetlabs/trapperkeeper/blob/1.5.2/documentation/Reloaded-Pattern.md] shows some of the difficulty. To do it from within a running app, we need to use the internal {{tk-apps}} array and {{run-lifecycle-fn!}} to ensure service context is updated correctly. This approach seems bad, and I don't think it's worth reworking trapperkeeper to support it for marginal benefits over manipulating the route handlers directly (which our service creates in the first place).", "created": "2017-07-27T10:47:00.000000"}], "components": [], "created": "2017-07-05T02:35:00.000000", "creator": "557058:afa80a20-2814-4f2f-bbdd-ad5db4190123", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4351d12c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Customer Feedback"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzfoef:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "pcp-broker will now reject connections when not ready to handle them, rather than accepting them closing the connection. This will result in agents using increasing delays between retrying the connection."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/Jul/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_320135367_*|*_1_*:*_1_*:*_1155337440_*|*_10007_*:*_1_*:*_621373325_*|*_3_*:*_2_*:*_6235844_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_3_*:*_2597590206_*|*_10005_*:*_2_*:*_2411214277"}], "description": "*What should happen:* When a PCP-Broker cannot connect to its upstream controller, it should reject connections from pxp-agents to allow them to quickly fail over to the next broker.\n\n*What actually happens:* When a PCP-Broker cannot connect to its upstream controller, it accepts pxp-agent connections and then immediately drops them, leading to that pxp-agent immediately reconnecting to the same broker, and the process repeats.\n\n*How to reproduce:**\n\n* Create a MoM, Compile and Agent running >= 2017.2.2.\n* Block port 8143 on the MoM\n* Ensure that the agent is using the Compile master as it's PCP broker\n* Monitor the agent's pxp-agent logs\n\nIn my testing is has taken 15-20 minutes to start happening, this may be exacerbated by increasing the number of agents. When the issue is present you will see the following in the pxp-agent logs:\n\n{code}\n2017-07-05 08:30:04.503806 INFO  puppetlabs.cpp_pcp_client.connection:394 - Establishing the WebSocket connection with 'wss://com1.prod.puppet.com:8142/pcp2/agent' with a timeout of 5000 ms\n2017-07-05 08:30:04.596486 INFO  puppetlabs.cpp_pcp_client.connection:601 - Successfully established a WebSocket connection with the PCP broker at wss://com1.prod.puppet.com:8142/pcp2/agent\n2017-07-05 08:30:04.597132 WARN  puppetlabs.cpp_pcp_client.connector:229 - WebSocket connection to PCP broker lost; retrying\n2017-07-05 08:30:04.797946 INFO  puppetlabs.cpp_pcp_client.connection:394 - Establishing the WebSocket connection with 'wss://com1.prod.puppet.com:8142/pcp2/agent' with a timeout of 5000 ms\n2017-07-05 08:30:04.918549 INFO  puppetlabs.cpp_pcp_client.connection:601 - Successfully established a WebSocket connection with the PCP broker at wss://com1.prod.puppet.com:8142/pcp2/agent\n2017-07-05 08:30:04.919166 WARN  puppetlabs.cpp_pcp_client.connector:229 - WebSocket connection to PCP broker lost; retrying\n{code}\n\n*Implications:*\nIf a customer has a large set of infrastructure and the MoM is made unavailable for whatever reason (restarting, network issues etc.) the agents will start bombarding the compile masters and likely cause them to fall over. Meaning that the whole set of infrastructure will require a restart. Also if one compile master cannot reach the MoM, agents will not fail over as they have not had any failed connections, just disconnects.\n\n----\n\nChange pcp-broker to stop route handlers for websocket routes when it can't make any configured controller connections.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32074", "fixedVersions": ["pcp-broker 1.4.3"], "id": "32074", "issueType": "Bug", "key": "PCP-777", "labels": ["PE-2017.3-Z"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:afa80a20-2814-4f2f-bbdd-ad5db4190123", "resolution": "Fixed", "resolutionDate": "2017-09-25T10:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "PCP Broker does not reject connections when upstream controller is down", "timeSpent": "PT0S", "updated": "2017-11-07T10:17:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2017-06-28T10:26:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@34db93fa"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzf0fj:"}], "description": "The NSSM (Non-Sucking Service Manager) name triggers worry in Windows admins. We should implement a native Windows service for pxp-agent that directly uses it as a shared library rather than wrapping the executable.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32268", "fixedVersions": [], "id": "32268", "issueType": "Improvement", "key": "PCP-757", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Migrate from NSSM to a native Windows service", "timeSpent": "PT0S", "updated": "2017-09-11T12:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "created": "2017-06-26T09:15:00.000000", "name": "20170626-puppet-agent-1.10.x-pxp-agent-osx1010.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12310"}], "comments": [{"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "I suspect this is a transient failure. I am rerunning the test suite to confirm.", "created": "2017-06-26T09:19:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "This is indeed transient and passed on the next run.\nhttps://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-1.10.x/4", "created": "2017-06-26T09:58:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Duplicates PCP-750. We should track all occurrences of this message there.", "created": "2017-07-11T10:47:00.000000"}], "components": [], "created": "2017-06-26T09:16:00.000000", "creator": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform puppet-agent suite"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6995f7f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyltnj:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/Jul/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1301460421_*|*_6_*:*_1_*:*_0"}], "description": "[Joblink|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-1.10.x]\n\nExample error:\n{code}\n  * On each agent, test that a 2nd association has occurred\n    RuntimeError: Didn't receive a response for PCP inventory request in 60 seconds\n    /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-1.10.x/SLAVE_LABEL/beaker/TEST_TARGET/osx1010-64a/pxp_agent/acceptance/tests/reconnect_after_broker_unavailable.rb:25\n    /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-1.10.x/SLAVE_LABEL/beaker/TEST_TARGET/osx1010-64a/pxp_agent/acceptance/tests/reconnect_after_broker_unavailable.rb:24\n    /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-1.10.x/SLAVE_LABEL/beaker/TEST_TARGET/osx1010-64a/pxp_agent/acceptance/tests/reconnect_after_broker_unavailable.rb:24\n    /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-1.10.x/SLAVE_LABEL/beaker/TEST_TARGET/osx1010-64a/pxp_agent/acceptance/tests/reconnect_after_broker_unavailable.rb:24\n    /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-1.10.x/SLAVE_LABEL/beaker/TEST_TARGET/osx1010-64a/pxp_agent/acceptance/tests/reconnect_after_broker_unavailable.rb:23\n    /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-1.10.x/SLAVE_LABEL/beaker/TEST_TARGET/osx1010-64a/pxp_agent/acceptance/.bundle/gems/ruby/2.3.0/gems/beaker-3.14.0/bin/beaker:9\n    Begin teardown\n    End teardown\n    Warning: tests/reconnect_after_broker_unavailable.rb errored in 112.92 seconds\n{code}", "environment": "osx1010-64a", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31889", "fixedVersions": [], "id": "31889", "issueType": "CI Blocker", "key": "PCP-756", "labels": ["transient"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Blocker", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "resolution": "Duplicate", "resolutionDate": "2017-07-11T10:47:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "reconnect_after_broker_unavailable test failing", "timeSpent": "PT0S", "updated": "2017-07-11T10:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "It looks like we're going to fix this in the pxp-agent service script used on SLES 10/11. Moving to the PCP project.", "created": "2017-06-22T15:48:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Promoted into puppet-agent 5.0.x. Kicked off a suite build to get it into the appropriate PE branch.", "created": "2017-06-23T11:59:00.000000"}], "components": [], "created": "2017-06-22T14:43:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Upgrades of puppet-agent where the pxp-agent service was running before should have the service running after upgrade, and we should not see messages about running programs using deleted files."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@27318b00"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Automated Test"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzeuef:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The pxp-agent service will now cleanly restart on SLES 11 after upgrading to a new version."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_14939562_*|*_1_*:*_1_*:*_7148_*|*_10007_*:*_1_*:*_60471043_*|*_3_*:*_1_*:*_8799984_*|*_5_*:*_1_*:*_2250911347_*|*_6_*:*_1_*:*_0"}], "description": "When performing an upgrade on SLES using zypper, it tries to restart pxp-agent. However, it performs the service restart after upgrading the package. That fails: killproc won't kill the existing process because it came from a different binary path than the one being specified.\n\nThe error we see is\n{quote}\nThere are some running programs that use files deleted by recent upgrade. You may wish to restart some of them. Run 'zypper ps' to list these programs.\n{quote}\n\nTo solve this, we propose detecting failed restarts during upgrade and fixing them. This code needs to live as long as we support pxp-agent 1.6.0 and below.\n\nThis only impacts SLES 11. SLES 12 uses systemd and is not impacted by this issue.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32275", "fixedVersions": ["pxp-agent 1.5.4", "pxp-agent 1.6.1"], "id": "32275", "issueType": "Bug", "key": "PCP-755", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-06-23T14:07:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent service does not cleanly restart after upgrade on SLES 11", "timeSpent": "PT0S", "updated": "2017-07-25T11:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:89341248-d23e-4b19-a2b6-66b9bb55eb83", "attachments": [], "comments": [{"author": "557058:89341248-d23e-4b19-a2b6-66b9bb55eb83", "body": "Now that we've converted the Linux on Power machines to Static IP's I've run the test and all tests are passing (with the reboot test included).\nClosing.", "created": "2017-06-26T15:20:00.000000"}], "components": [], "created": "2017-06-22T09:22:00.000000", "creator": "557058:89341248-d23e-4b19-a2b6-66b9bb55eb83", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@72eb589b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Automated Test"}, {"fieldName": "QA Contact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker", "value": "557058:89341248-d23e-4b19-a2b6-66b9bb55eb83"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "No Action"}, {"fieldName": "QA Risk Assessment Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "CI"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzetxr:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_350081300_*|*_3_*:*_1_*:*_3537700_*|*_5_*:*_1_*:*_0"}], "description": "While running the pxp-agent tests on the new Power8 Ubuntu 16.04 box I ran into a problem where the restart test, rebooted the box, but couldn't figure out that the system returned.\n\nThis may have been caused by the the system getting a different DHCP address (not sure), but I disabled the test in order to get a working run \n\nacceptance/tests/restart_host_run_puppet.rb\n\nThe systems are moving to static IP addresses, which might solve this problem, if not we'll have to address this issue somehow.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32175", "fixedVersions": [], "id": "32175", "issueType": "Bug", "key": "PCP-753", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:89341248-d23e-4b19-a2b6-66b9bb55eb83", "resolution": "Cannot Reproduce", "resolutionDate": "2017-06-26T11:35:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "restart test has issues on Ubuntu 16.04 and Redhat 7 Power8 boxes", "timeSpent": "PT0S", "updated": "2017-06-26T15:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "created": "2017-06-15T09:05:00.000000", "name": "20170615-puppet-agent-pxp-agent-master.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12360"}], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Fix candidate PR: https://github.com/puppetlabs/puppet-agent/pull/1085", "created": "2017-06-15T15:03:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I believe this has been verified as fixed. Resolving.", "created": "2017-06-16T09:52:00.000000"}], "components": ["pxp-agent"], "created": "2017-06-15T09:06:00.000000", "creator": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform puppet-agent suite"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@521266b9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzentj:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Jun/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_21526792_*|*_10007_*:*_1_*:*_67688854_*|*_5_*:*_1_*:*_0"}], "description": "Example error:\n{code}\n          dv02ru4e6ji7hah.delivery.puppetlabs.net (cisconx-64-1) 14:54:39$ source /etc/profile; sudo sh -c \" ip netns exec management ps -ef | grep 'puppet agent' | grep -v 'grep' | grep -v 'true' | sed 's/^[^0-9]*//g' | cut -d\\  -f1 \"\n            12136\n            12142\n          \n          dv02ru4e6ji7hah.delivery.puppetlabs.net (cisconx-64-1) executed in 0.13 seconds\n          RuntimeError: After 30 times checking, could not determine that the 2nd agent had stopped\n          /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/cisconx-64a/pxp_agent/acceptance/tests/pxp-module-puppet/run_puppet_twice.rb:110\n          /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/cisconx-64a/pxp_agent/acceptance/tests/pxp-module-puppet/run_puppet_twice.rb:74\n          /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/cisconx-64a/pxp_agent/acceptance/tests/pxp-module-puppet/run_puppet_twice.rb:74\n          /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/cisconx-64a/pxp_agent/acceptance/tests/pxp-module-puppet/run_puppet_twice.rb:73\n          /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/cisconx-64a/pxp_agent/acceptance/tests/pxp-module-puppet/run_puppet_twice.rb:8\n          /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/cisconx-64a/pxp_agent/acceptance/.bundle/gems/ruby/2.3.0/gems/beaker-3.14.0/bin/beaker:9\n{code}\n\nNotably, further up in this output we see four puppet-agent processes. Two of them disappear, leaving two. It appears this agent invocation may be spawning two processes. This did not fail on Windows.\n\n[Joblink|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/]", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32174", "fixedVersions": [], "id": "32174", "issueType": "CI Blocker", "key": "PCP-752", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Blocker", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "resolution": "Fixed", "resolutionDate": "2017-06-16T09:52:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-module-puppet/run_puppet_twice test failing", "timeSpent": "PT0S", "updated": "2017-06-16T16:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "created": "2017-06-12T08:42:00.000000", "name": "20170612-puppet-agent-pxp-agent-master-redhat7.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12292"}], "comments": [{"author": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "body": "[~accountid:557058:315adc9a-49dc-4753-86d1-4536fc30e3f3], we're taking an initial look at this, but may need assistance from FF in tracking this down. ", "created": "2017-06-12T11:40:00.000000"}, {"author": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "body": "PR#594 merged to pxp-agent#master at https://github.com/puppetlabs/pxp-agent/commit/953cbe2e1dd7d032c58ccf4e8b050f85deb909d1. ", "created": "2017-06-12T14:48:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "This has passed the puppet-agent#master suite pipeline.", "created": "2017-06-13T09:26:00.000000"}], "components": [], "created": "2017-06-12T08:44:00.000000", "creator": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform puppet-agent"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@76476412"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzeksv:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Jun/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_67041205_*|*_1_*:*_1_*:*_14899146_*|*_10007_*:*_1_*:*_724601_*|*_3_*:*_1_*:*_6230959_*|*_5_*:*_1_*:*_1310246346_*|*_6_*:*_1_*:*_0"}], "description": "pxp-agent acceptance tests fail, receiving an error response when attempting to send an rpc_blocking_request.\n\nExample error.\n{code}\n* Send an rpc_blocking_request to all agents after reboot\n00:06:25       Received response from pcp://msutpo08dkw7zjm.delivery.puppetlabs.net/agent: {:envelope=>{:id=>\"2073cb43-52af-4745-bd7b-44fa375095ce\", :message_type=>\"http://puppetlabs.com/rpc_error_message\", :sender=>\"pcp://msutpo08dkw7zjm.delivery.puppetlabs.net/agent\", :targets=>[\"pcp://mesos-jenkins-907367aab0d7411a9b68634fe0eb5b1d-workerbeakerbeak/ruby-pcp-client-1190\"], :expires=>\"1970-01-01T00:00:00.000Z\"}, :data=>{\"transaction_id\"=>\"367df206-e226-49a0-ab7e-91a460957a71\", \"id\"=>\"77635a70-161a-4e52-b818-232d6ba041dc\", \"description\"=>\"The task executed for the blocking 'pxp-module-puppet run' request (transaction 367df206-e226-49a0-ab7e-91a460957a71) returned invalid results on stdout: {\\\"kind\\\":null,\\\"time\\\":\\\"2017-06-12T00:06:28.186705843-07:00\\\",\\\"transaction_uuid\\\":\\\"ce258dc9-48a7-4563-a806-073685375bee\\\",\\\"environment\\\":\\\"production\\\",\\\"status\\\":\\\"unchanged\\\",\\\"metrics\\\":{\\\"total\\\":7,\\\"skipped\\\":0,\\\"failed\\\":0,\\\"failed_to_restart\\\":0,\\\"restarted\\\":0,\\\"changed\\\":0,\\\"out_of_sync\\\":0,\\\"scheduled\\\":0,\\\"corrective_change\\\":0},\\\"exitcode\\\":0,\\\"version\\\":1} - stderr: \n{code}\n\n[joblink|https://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/master/view/Suite/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/]", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31728", "fixedVersions": ["pxp-agent 1.6.0"], "id": "31728", "issueType": "CI Blocker", "key": "PCP-751", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "resolution": "Fixed", "resolutionDate": "2017-06-13T09:26:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent (master) rpc_blocking_request failing in CI", "timeSpent": "PT0S", "updated": "2017-06-28T13:23:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "attachments": [{"attacher": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "created": "2017-06-02T14:35:00.000000", "name": "sut-files.tgz", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12344"}], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Attached saved files from failing jobs.", "created": "2017-06-02T14:35:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Oh, new theory. We're querying inventory right after starting pcp-broker. If the broker is still initializing services when we request, the message will get dropped with no reply.\n\nUpdate: that doesn't seem to map to the tests that fail.", "created": "2017-06-07T17:08:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I've tried reproducing this a few times without success. One approach I haven't tried yet is doing so while the beaker host is under heavy load, that might impact receiving the inventory response.", "created": "2017-06-20T15:20:00.000000"}], "components": [], "created": "2017-06-01T10:26:00.000000", "creator": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform puppet-agent suite"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1c1159f6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "No Action"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hylt0n:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "01/Jun/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_8662018_*|*_1_*:*_1_*:*_497945_*|*_10007_*:*_2_*:*_16905935_*|*_3_*:*_1_*:*_1044866921_*|*_5_*:*_1_*:*_689928307_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1372113563_*|*_10005_*:*_1_*:*_1032011569"}], "description": "some pxp-agent acceptance tests fail due to not receiving an inventory request response within the defined period (60 seconds) after starting/restarting the service.\n\nThese failures are not consistent between test platforms.\n\nTests impacted recently\n  * invalid_ssl_config.rb\n  * pxp_agent_associate.rb\n\nexample error:\n{code}\n07:53:25 * Assert that agent is listed in pcp-broker inventory\n07:53:25   RuntimeError: Didn't receive a response for PCP inventory request in 60 seconds\n07:54:30   /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/redhat6-32a/pxp_agent/acceptance/tests/pxp_agent_associate.rb:24\n07:54:30   /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/redhat6-32a/pxp_agent/acceptance/tests/pxp_agent_associate.rb:23\n07:54:30   /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/redhat6-32a/pxp_agent/acceptance/tests/pxp_agent_associate.rb:5\n07:54:30   /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/redhat6-32a/pxp_agent/acceptance/tests/pxp_agent_associate.rb:5\n07:54:30   /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/redhat6-32a/pxp_agent/acceptance/.bundle/gems/ruby/2.3.0/gems/beaker-3.14.0/bin/beaker:9\n{code}\n [joblink|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL=beaker,TEST_TARGET=redhat6-32a/]", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32073", "fixedVersions": ["pxp-agent 1.5.4", "pxp-agent 1.6.1", "pxp-agent 1.7.0"], "id": "32073", "issueType": "CI Blocker", "key": "PCP-750", "labels": ["transient"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Blocker", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "resolution": "Fixed", "resolutionDate": "2017-07-11T15:44:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent intermittent test failures due to inventory request timeouts", "timeSpent": "PT0S", "updated": "2017-10-23T12:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "created": "2017-06-01T09:02:00.000000", "name": "20170531-platform_pxp-agent_master-redhat7-64m-windows2012r2-64a.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12317"}], "comments": [{"author": "557058:669d4655-0c85-469a-a11c-e5290cf2955d", "body": "[~accountid:557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced] There was a bit of confusion around what the layout of these tests is in CI.  I linked a PR to this ticket that I think will address this problem.  ", "created": "2017-06-01T09:40:00.000000"}], "components": [], "created": "2017-06-01T09:06:00.000000", "creator": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform puppet-agent"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@294c41fc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzednr:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Testing, never impacted a release."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "01/Jun/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_102704445_*|*_1_*:*_1_*:*_2209408_*|*_5_*:*_1_*:*_0"}], "description": "pxp-agent at SHA bcd222a4b8acd39533e2f16947bd1f509892e188\n{{tests/pxp-module-puppet/negative/attempt_puppet_flag_whitelist_bypass.rb}} test fails with the following error:\n{code}\n18:38:22       Begin tests/pxp-module-puppet/negative/attempt_puppet_flag_whitelist_bypass.rb\n18:38:22       \n18:38:22       C100245 - attempt bypass of flag whitelist with tab character\n18:38:22         \n18:38:22         * pick test host\n18:38:22           NoMethodError: undefined method `platform' for nil:NilClass\n18:38:22           /tmp/jenkins/workspace/platform_pxp-agent_intn-van-sys_master/SLAVE_LABEL/beaker/TEST_TARGET/redhat7-64m-windows2012r2-64a/UNEEDED/UNEEDED/acceptance/tests/pxp-module-puppet/negative/attempt_puppet_flag_whitelist_bypass.rb:9\n18:38:22           /tmp/jenkins/workspace/platform_pxp-agent_intn-van-sys_master/SLAVE_LABEL/beaker/TEST_TARGET/redhat7-64m-windows2012r2-64a/UNEEDED/UNEEDED/acceptance/tests/pxp-module-puppet/negative/attempt_puppet_flag_whitelist_bypass.rb:7\n18:38:22           /tmp/jenkins/workspace/platform_pxp-agent_intn-van-sys_master/SLAVE_LABEL/beaker/TEST_TARGET/redhat7-64m-windows2012r2-64a/UNEEDED/UNEEDED/acceptance/tests/pxp-module-puppet/negative/attempt_puppet_flag_whitelist_bypass.rb:3\n18:38:22           /tmp/jenkins/workspace/platform_pxp-agent_intn-van-sys_master/SLAVE_LABEL/beaker/TEST_TARGET/redhat7-64m-windows2012r2-64a/UNEEDED/UNEEDED/acceptance/.bundle/gems/ruby/2.3.0/gems/beaker-3.16.0/bin/beaker:9\n{code}\n [joblink|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_pxp-agent_intn-van-sys_master/SLAVE_LABEL=beaker,TEST_TARGET=redhat7-64m-windows2012r2-64a,UNEEDED=UNEEDED]", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31978", "fixedVersions": [], "id": "31978", "issueType": "CI Blocker", "key": "PCP-749", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Blocker", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "resolution": "Fixed", "resolutionDate": "2017-06-02T14:15:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent (master) attempt_puppet_flag_whitelist_bypass test failure (windows2012r2)", "timeSpent": "PT0S", "updated": "2017-06-05T17:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to master in https://github.com/puppetlabs/pxp-agent/commit/368f68c1e3141396f282359dd94905f4ce0969da", "created": "2017-05-25T08:09:00.000000"}], "components": [], "created": "2017-05-24T13:03:00.000000", "creator": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "* Specifying SERVER_VERSION=latest in 'rake ci:test:aio' pulls puppetserver latest packages from nightlies."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7d2b8563"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "No Action"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hze7t3:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/May/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_146811359_*|*_1_*:*_1_*:*_6250_*|*_10007_*:*_1_*:*_61134628_*|*_3_*:*_1_*:*_7602123_*|*_10009_*:*_1_*:*_5456_*|*_5_*:*_1_*:*_2809618812_*|*_6_*:*_1_*:*_0"}], "description": "Update the acceptance tests in pxp-agent to allow SERVER_VERSION to be set to \"latest\" so we can pull latest puppetserver from nightlies and test against that.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32072", "fixedVersions": ["pxp-agent 1.6.0"], "id": "32072", "issueType": "Task", "key": "PCP-748", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "resolution": "Fixed", "resolutionDate": "2017-05-27T00:56:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Update pxp-agent component tests to allow SERVER_VERSION=latest", "timeSpent": "PT0S", "updated": "2017-06-28T13:23:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6361cbfc59c794184bcbd33a", "attachments": [{"attacher": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "created": "2017-05-22T09:51:00.000000", "name": "20170522-pxp-agent-master-redhat7-a3ff61f.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12291"}], "comments": [{"author": "6361cbfc59c794184bcbd33a", "body": "This should be fixed now. Please reopen if you disagree.", "created": "2017-05-23T15:49:00.000000"}], "components": ["pxp-agent"], "created": "2017-05-22T09:53:00.000000", "creator": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform puppet-agent"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@c731623"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "No Action"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hze59z:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "23/May/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_107738492_*|*_5_*:*_1_*:*_0"}], "description": "Multiple pxp-agent acceptance test failures resulted when testing against pxp-agent at SHA a3ff61fb9eaa7265b20ea09e70907033abf06d37. Previous passing SHA was 76d32cbb5efc536812d6db46fddb8472172f7d61\nFailing tests:\n{code}\nFailed Tests Cases:\n                                                                        Test Case tests/restart_host_run_puppet.rb reported: #<Minitest::Assertion: Received a message from pcp-broker for b1pbsh3sdq1mlmh.delivery.puppetlabs.net but it wasn't of type http://puppetlabs.com/rpc_blocking_response.\n                                                                      --- expected\n                                                                      +++ actual\n                                                                      @@ -1 +1 @@\n                                                                      -\"http://puppetlabs.com/rpc_blocking_response\"\n                                                                      +\"http://puppetlabs.com/rpc_error_message\"\n                                                                      >\n                                                                          Test line: tests/restart_host_run_puppet.rb:98:in `block (5 levels) in run_test'\n                                                                        Test Case tests/pxp-module-puppet/run_puppet.rb reported: #<Minitest::Assertion: Received a message from pcp-broker for b1pbsh3sdq1mlmh.delivery.puppetlabs.net but it wasn't of type http://puppetlabs.com/rpc_blocking_response.\n                                                                      --- expected\n                                                                      +++ actual\n                                                                      @@ -1 +1 @@\n                                                                      -\"http://puppetlabs.com/rpc_blocking_response\"\n                                                                      +\"http://puppetlabs.com/rpc_error_message\"\n                                                                      >\n                                                                          Test line: tests/pxp-module-puppet/run_puppet.rb:39:in `block (5 levels) in run_test'\n                                                                        Test Case tests/pxp-module-puppet/run_puppet_nonASCII.rb reported: #<Minitest::Assertion: Agent b1pbsh3sdq1mlmh.delivery.puppetlabs.net received a response for rpc_blocking_request but it is missing a 'results' entry: {:envelope=>{:id=>\"dacbb42c-163a-4fbf-adcf-4e4d5cedab12\", :message_type=>\"http://puppetlabs.com/rpc_error_message\", :sender=>\"pcp://b1pbsh3sdq1mlmh.delivery.puppetlabs.net/agent\", :targets=>[\"pcp://mesos-jenkins-d90eae813c714c3ba7dc2d48ce6d9870-workerbeakerbeak/ruby-pcp-client-230\"], :expires=>\"1970-01-01T00:00:00.000Z\"}, :data=>{\"transaction_id\"=>\"cca60d4d-348e-40fa-9ea7-ed42b9ff6f3a\", \"id\"=>\"f838341d-6a4a-468d-8cf8-8fd9718fb0d5\", \"description\"=>\"The task executed for the blocking 'pxp-module-puppet run' request (transaction cca60d4d-348e-40fa-9ea7-ed42b9ff6f3a) returned no results on stdout - stderr: \\n/opt/puppetlabs/pxp-agent/modules/pxp-module-puppet:38:in `handle_action': undefined local variable or method `config' for Pxp::ModulePuppet:Class (NameError)\\n\\tfrom /opt/puppetlabs/pxp-agent/modules/pxp-module-puppet:512:in `<main>'\\n\"}}>\n                                                                          Test line: tests/pxp-module-puppet/run_puppet_nonASCII.rb:55:in `block (5 levels) in run_test'\n                                                                        Test Case tests/pxp-module-puppet/run_puppet_umask.rb reported: #<Minitest::Assertion: Received a message from pcp-broker for b1pbsh3sdq1mlmh.delivery.puppetlabs.net but it wasn't of type http://puppetlabs.com/rpc_blocking_response.\n                                                                      --- expected\n                                                                      +++ actual\n                                                                      @@ -1 +1 @@\n                                                                      -\"http://puppetlabs.com/rpc_blocking_response\"\n                                                                      +\"http://puppetlabs.com/rpc_error_message\"\n                                                                      >\n                                                                          Test line: tests/pxp-module-puppet/run_puppet_umask.rb:99:in `block (5 levels) in run_test'\n                                                                        Test Case tests/pxp-module-puppet/run_puppet_v1.rb reported: #<Minitest::Assertion: Received a message from pcp-broker for b1pbsh3sdq1mlmh.delivery.puppetlabs.net but it wasn't of type http://puppetlabs.com/rpc_blocking_response.\n                                                                      --- expected\n                                                                      +++ actual\n                                                                      @@ -1 +1 @@\n                                                                      -\"http://puppetlabs.com/rpc_blocking_response\"\n                                                                      +\"http://puppetlabs.com/rpc_error_message\"\n                                                                      >\n                                                                          Test line: tests/pxp-module-puppet/run_puppet_v1.rb:52:in `block (5 levels) in run_test'\nErrored Tests Cases:\n                                                                        Test Case tests/pxp-module-puppet/rerun_transaction.rb reported: #<RuntimeError: Run puppet non-blocking transaction did not contain stdout of puppet run after 60 attempts and 60 seconds>\n                                                                          Test line: tests/pxp-module-puppet/rerun_transaction.rb:26:in `block (4 levels) in run_test'\n                                                                        Test Case tests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb reported: #<RuntimeError: After triggering a puppet run on b1pbsh3sdq1mlmh.delivery.puppetlabs.net the expected sleep process did not appear in process list>\n                                                                          Test line: tests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb:67:in `block (4 levels) in run_test'\n                                                                        Test Case tests/pxp-module-puppet/run_puppet_agent_disabled.rb reported: #<NoMethodError: undefined method `has_key?' for nil:NilClass>\n                                                                          Test line: tests/pxp-module-puppet/run_puppet_agent_disabled.rb:42:in `block (5 levels) in run_test'\n                                                                        Test Case tests/pxp-module-puppet/run_puppet_during_puppet.rb reported: #<RuntimeError: Run puppet non-blocking transaction did not contain stdout of puppet run after 60 attempts and 60 seconds>\n                                                                          Test line: tests/pxp-module-puppet/run_puppet_during_puppet.rb:59:in `block (4 levels) in run_test'\n                                                                        Test Case tests/pxp-module-puppet/run_puppet_killed_puppet.rb reported: #<RuntimeError: Run puppet non-blocking transaction did not contain stdout of puppet run after 50 attempts and 100 seconds>\n                                                                          Test line: tests/pxp-module-puppet/run_puppet_killed_puppet.rb:84:in `block (4 levels) in run_test'\n                                                                        Test Case tests/pxp-module-puppet/run_puppet_result_changed.rb reported: #<NoMethodError: undefined method `has_key?' for nil:NilClass>\n                                                                          Test line: tests/pxp-module-puppet/run_puppet_result_changed.rb:51:in `block (5 levels) in run_test'\n                                                                        Test Case tests/pxp-module-puppet/run_puppet_result_failed.rb reported: #<NoMethodError: undefined method `has_key?' for nil:NilClass>\n                                                                          Test line: tests/pxp-module-puppet/run_puppet_result_failed.rb:33:in `assert_failed_agent_run'\n                                                                        Test Case tests/pxp-module-puppet/run_puppet_twice.rb reported: #<RuntimeError: After triggering a puppet run on b1pbsh3sdq1mlmh.delivery.puppetlabs.net the expected sleep process did not appear in process list>\n                                                                          Test line: tests/pxp-module-puppet/run_puppet_twice.rb:50:in `block (4 levels) in run_test'\nSkipped Tests Cases:\n                                                                        Test Case tests/multiple_pxp_agent_daemon.rb \nPending Tests Cases:\n\n                                                                      Failed: errored in TestSuite: report_and_raise_on_failure\n                                                                      #<RuntimeError: Failed while running the tests suite>\n                                                                      Begin teardown/common/099_Archive_Logs.rb\n                                                                      \n                                                                      * Archive files created during tests\n                                                                        localhost $ scp redhat7-64-1:/var/log/puppetlabs archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log\n                                                                        \n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/puppetserver/puppetserver.log:          0/8945\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/puppetserver/puppetserver.log:       8945/8945\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/puppetserver/masterhttp.log:          0/0\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/puppetserver/masterhttp.log:          0/0\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/puppetserver/puppetserver-access.log:          0/6449\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/puppetserver/puppetserver-access.log:       6449/6449\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.0a5bb9cd-476c-4f5a-9794-9001c01dd707:          0/32717\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.0a5bb9cd-476c-4f5a-9794-9001c01dd707:      16384/32717\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.0a5bb9cd-476c-4f5a-9794-9001c01dd707:      32717/32717\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.ad140b65-f6af-48b4-abfe-99e4417e8651:          0/51240\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.ad140b65-f6af-48b4-abfe-99e4417e8651:      16384/51240\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.ad140b65-f6af-48b4-abfe-99e4417e8651:      32768/51240\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.ad140b65-f6af-48b4-abfe-99e4417e8651:      51240/51240\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.a07cb38e-75f8-4daf-b266-7fa20c959705:          0/22265\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.a07cb38e-75f8-4daf-b266-7fa20c959705:      22265/22265\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.8ffbcf7e-7bdf-4638-922a-b4f406d46b21:          0/10385\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.8ffbcf7e-7bdf-4638-922a-b4f406d46b21:      10385/10385\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.594d0139-0d60-4ec2-ac29-32d60102aa0e:          0/13340\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.594d0139-0d60-4ec2-ac29-32d60102aa0e:      13340/13340\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:          0/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:      16384/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:      32768/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:      49152/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:      65536/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:      81920/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:      98304/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     114688/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     131072/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     147456/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     163840/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     180224/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     196608/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     212992/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     229376/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     247316/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     262144/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     278528/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     294912/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     311296/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     327680/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     344064/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     360448/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     378388/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     393216/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     409600/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     425984/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     442368/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     458752/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     475136/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     491520/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     509460/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     524288/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     540672/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     557056/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     573440/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     589824/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     606208/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     622592/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     640532/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     655360/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     671744/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     688128/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     704512/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     720896/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     737280/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     753664/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     771604/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     786432/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     802816/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     819200/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     835584/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     851968/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     884736/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     917504/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     950272/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:     983040/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:    1015808/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:    1048576/1068285\n                                                                        \tcopying archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log/puppetlabs/pcp-broker.log.48c93340-51c4-4fe2-8a79-6d3b57b5bde3:    1068285/1068285\n                                                                          SCP'ed file redhat7-64-1:/var/log/puppetlabs to archive/sut-files/b5i467n44dv7uem.delivery.puppetlabs.net/var/log\n                                                                        localhost $ scp redhat7-64-2:/var/log/puppetlabs/pxp-agent archive/sut-files/b1pbsh3sdq1mlmh.delivery.puppetlabs.net/var/log/puppetlabs\n                                                                        \n                                                                        \tcopying archive/sut-files/b1pbsh3sdq1mlmh.delivery.puppetlabs.net/var/log/puppetlabs/pxp-agent/pxp-agent.log.90d473a5-cc6c-4270-a434-6aac706a6972:          0/1695\n                                                                        \tcopying archive/sut-files/b1pbsh3sdq1mlmh.delivery.puppetlabs.net/var/log/puppetlabs/pxp-agent/pxp-agent.log.90d473a5-cc6c-4270-a434-6aac706a6972:       1695/1695\n                                                                        \tcopying archive/sut-files/b1pbsh3sdq1mlmh.delivery.puppetlabs.net/var/log/puppetlabs/pxp-agent/pxp-agent.log.5ae1d2e7-edcc-4cc2-a574-7b8f04d613b5:          0/143\n                                                                        \tcopying archive/sut-files/b1pbsh3sdq1mlmh.delivery.puppetlabs.net/var/log/puppetlabs/pxp-agent/pxp-agent.log.5ae1d2e7-edcc-4cc2-a574-7b8f04d613b5:        143/143\n                                                                        \tcopying archive/sut-files/b1pbsh3sdq1mlmh.delivery.puppetlabs.net/var/log/puppetlabs/pxp-agent/pxp-agent.log.24143707-c84a-4836-8ab5-fafb5ebd0454:          0/2042\n                                                                        \tcopying archive/sut-files/b1pbsh3sdq1mlmh.delivery.puppetlabs.net/var/log/puppetlabs/pxp-agent/pxp-agent.log.24143707-c84a-4836-8ab5-fafb5ebd0454:       2042/2042\n                                                                        \tcopying archive/sut-files/b1pbsh3sdq1mlmh.delivery.puppetlabs.net/var/log/puppetlabs/pxp-agent/pxp-agent.log.1d3c995d-5a53-4796-8b61-0115d817490e:          0/1745\n                                                                        \tcopying archive/sut-files/b1pbsh3sdq1mlmh.delivery.puppetlabs.net/var/log/puppetlabs/pxp-agent/pxp-agent.log.1d3c995d-5a53-4796-8b61-0115d817490e:       1745/1745\n                                                                        \tcopying archive/sut-files/b1pbsh3sdq1mlmh.delivery.puppetlabs.net/var/log/puppetlabs/pxp-agent/pxp-agent.log.43c894b1-b954-4e7d-aa85-67271c9896bb:          0/5083\n                                                                        \tcopying archive/sut-files/b1pbsh3sdq1mlmh.delivery.puppetlabs.net/var/log/puppetlabs/pxp-agent/pxp-agent.log.43c894b1-b954-4e7d-aa85-67271c9896bb:       5083/5083\n                                                                        \tcopying archive/sut-files/b1pbsh3sdq1mlmh.delivery.puppetlabs.net/var/log/puppetlabs/pxp-agent/pxp-agent.log.ca66c745-8da1-4369-adeb-9129fa77f859:          0/12033\n                                                                        \tcopying archive/sut-files/b1pbsh3sdq1mlmh.delivery.puppetlabs.net/var/log/puppetlabs/pxp-agent/pxp-agent.log.ca66c745-8da1-4369-adeb-9129fa77f859:      12033/12033\n                                                                        \tcopying archive/sut-files/b1pbsh3sdq1mlmh.delivery.puppetlabs.net/var/log/puppetlabs/pxp-agent/pxp-agent.log.5e1817b1-aedd-433d-b006-ffec670e4aac:          0/6833\n                                                                        \tcopying archive/sut-files/b1pbsh3sdq1mlmh.delivery.puppetlabs.net/var/log/puppetlabs/pxp-agent/pxp-agent.log.5e1817b1-aedd-433d-b006-ffec670e4aac:       6833/6833\n                                                                        \tcopying archive/sut-files/b1pbsh3sdq1mlmh.delivery.puppetlabs.net/var/log/puppetlabs/pxp-agent/pxp-agent.log:          0/146438\n                                                                        \tcopying archive/sut-files/b1pbsh3sdq1mlmh.delivery.puppetlabs.net/var/log/puppetlabs/pxp-agent/pxp-agent.log:      16384/146438\n                                                                        \tcopying archive/sut-files/b1pbsh3sdq1mlmh.delivery.puppetlabs.net/var/log/puppetlabs/pxp-agent/pxp-agent.log:      32768/146438\n                                                                        \tcopying archive/sut-files/b1pbsh3sdq1mlmh.delivery.puppetlabs.net/var/log/puppetlabs/pxp-agent/pxp-agent.log:      49152/146438\n                                                  ", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32273", "fixedVersions": [], "id": "32273", "issueType": "CI Blocker", "key": "PCP-747", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "resolution": "Fixed", "resolutionDate": "2017-05-23T15:49:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Multiple pxp-agent failures at SHA a3ff61f", "timeSpent": "PT0S", "updated": "2017-05-23T15:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8", "body": "Closing due to lack of activity in 2 years.  Feel free to reopen if needed.", "created": "2019-11-08T11:28:00.000000"}], "components": [], "created": "2017-05-15T14:44:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "pxp-agent has a man page you can query for help."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@41b28164"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzayl3:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Nov/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_78356637195_*|*_6_*:*_1_*:*_0"}], "description": "With PCP-745, the Solaris service script points to a missing man page. We should consider creating a man page.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31977", "fixedVersions": [], "id": "31977", "issueType": "Improvement", "key": "PCP-746", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Won't Do", "resolutionDate": "2019-11-08T11:28:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add a man page for pxp-agent", "timeSpent": "PT0S", "updated": "2019-11-08T11:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Hmm, we should probably also create a man page.", "created": "2017-05-12T12:32:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "[~accountid:557058:669d4655-0c85-469a-a11c-e5290cf2955d] we could add an acceptance test, but it seems unlikely to regress. Any thoughts? It probably would be a quick test to run.", "created": "2017-05-16T11:16:00.000000"}, {"author": "557058:5e2d4e96-5ea8-42e3-9179-a3afcdccef2f", "body": "Is this targeted in specific PE release?", "created": "2017-06-06T11:37:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "It should appear in puppet-agent 1.10.2.", "created": "2017-06-06T12:17:00.000000"}], "components": [], "created": "2017-05-12T11:58:00.000000", "creator": "557058:745ad6f8-2461-4691-9873-549d5904bb16", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@8edcd1f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Customer Feedback"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hylxdz:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The pxp-agent service will no longer cause a service query to error on Solaris."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "0.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/May/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_78806413_*|*_1_*:*_1_*:*_268761543_*|*_10007_*:*_1_*:*_88702_*|*_10009_*:*_1_*:*_945199392_*|*_5_*:*_2_*:*_765738925_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_775844675"}], "description": "Querying the pxp-agent service on Solaris 10 results in a libscf error:\n\n{code:java}\n-bash-3.2# svcs -xv pxp-agent\nsvc:/network/pxp-agent:default (PCP Execution Protocol (PXP) Agent)\n State: online since Thu May 11 17:16:26 2017\nsvcs: svcs.c:401: Unexpected libscf error: cannot use unset argument.  Exiting.\n{code}\n\nIt appears this is caused by a missing manpage setting in the SMF manifest:\n\n{code:java}\n-bash-3.2# svccfg export pxp-agent | grep manpage\n        <manpage title='' section='1'/>\n{code}\n\nPopulating that field resolves the problem (apparently Solaris' sed does not allow in-place replacement):\n\n{code:java}\n-bash-3.2# sed -e 's/manpage title=\"\"/manpage title=\"pxp-agent\"/' /var/svc/manifest/network/pxp-agent.xml > ~/pxp-agent.xml\n-bash-3.2# cp ~/pxp-agent.xml /var/svc/manifest/network/pxp-agent.xml\n-bash-3.2# svcadm restart manifest-import pxp-agent\n-bash-3.2# svcs -xv pxp-agent\nsvc:/network/pxp-agent:default (PCP Execution Protocol (PXP) Agent)\n State: online since Fri May 12 09:53:56 2017\n   See: man -M /usr/share/man -s 1 pxp-agent\n   See: /var/svc/log/network-pxp-agent:default.log\nImpact: None.\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32071", "fixedVersions": ["pxp-agent 1.5.3"], "id": "32071", "issueType": "Bug", "key": "PCP-745", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:745ad6f8-2461-4691-9873-549d5904bb16", "resolution": "Fixed", "resolutionDate": "2017-06-05T10:36:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent SMF manifest is missing the manpage title causing errors", "timeSpent": "PT0S", "updated": "2017-06-14T07:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8", "body": "Closing due to lack of activity in 2+years.  Feel free to reopen if needed.", "created": "2019-11-08T11:43:00.000000"}], "components": [], "created": "2017-05-09T14:27:00.000000", "creator": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6c03a540"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzduon:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Nov/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_78876950716_*|*_6_*:*_1_*:*_0"}], "description": "The pcp client is not currently used outside the pcp-broker and the two repos have circular test dependencies. Merging them will allow for easier dependency management and we can create seperate jars if we need to include them separately.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31617", "fixedVersions": [], "id": "31617", "issueType": "Task", "key": "PCP-744", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "resolution": "Won't Do", "resolutionDate": "2019-11-08T11:43:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Merge clj-pcp-client into pcp-broker", "timeSpent": "PT0S", "updated": "2019-11-08T11:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [], "components": [], "created": "2017-04-28T16:19:00.000000", "creator": "6361cbfc59c794184bcbd33a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1d1a12c3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzdpjr:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "pxp-module-puppet will now return metrics about resource events when a run finishes."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_18939548_*|*_1_*:*_1_*:*_326456673_*|*_10007_*:*_1_*:*_66822233_*|*_3_*:*_1_*:*_2499543_*|*_5_*:*_1_*:*_4668626190_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_155289377_*|*_10006_*:*_1_*:*_21182706"}], "description": "Currently, orchestrator collects information from PuppetDB about the resource events for a given report. In order to break the synchronous dependency on PuppetDB for retrieving that information, we should return it from pxp-module-puppet instead. This should just require reading the report and pulling out the particular metrics we care about.\n\nWe don't believe consumers enforce a strict schema for the response from pxp-module-puppet, so we should be able to add data to the response without impacting compatibility.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31616", "fixedVersions": ["pxp-agent 1.6.0"], "id": "31616", "issueType": "New Feature", "key": "PCP-742", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "6361cbfc59c794184bcbd33a", "resolution": "Fixed", "resolutionDate": "2017-05-05T12:33:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-module-puppet should return metrics about resource events", "timeSpent": "PT0S", "updated": "2017-06-28T13:23:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "attachments": [], "comments": [], "components": ["clj-pcp-client", "pcp-broker"], "created": "2017-04-25T05:21:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "All tests pass with new dependency."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@78c63a0f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hylybr:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_18818035_*|*_10007_*:*_1_*:*_1212152774_*|*_3_*:*_1_*:*_272143941_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_612212682"}], "description": "Update components to use the new trapperkeeper-webserver-jetty9 2.0.0. This should fix PCP-720.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32267", "fixedVersions": [], "id": "32267", "issueType": "Task", "key": "PCP-741", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-05-19T16:57:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Move to trapperkeeper-webserver-jetty9 2.0", "timeSpent": "PT0S", "updated": "2017-05-19T16:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:b72c16a2-594d-45f8-90bc-c6bc6c9510a8", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Moving to PCP since it's the cpp-pcp-client component that is failing to build on AIX 6.1 and 7.1. That said there haven't been any commits to that component in awhile, which makes me think this is an issue with the compiler toolchain on AIX (pl-build-tools) or something with the pe-*-builder hosts. Either way, all of the puppet-agent builds are failing across all repos and branches and we need to resolve ASAP. /cc [~accountid:557058:3bbf1c83-df0e-4372-887d-cfc38dee9330], [~accountid:557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20], [~accountid:70121:b72c16a2-594d-45f8-90bc-c6bc6c9510a8], [~accountid:557058:093475a3-6bc8-4a70-8034-ae5a2ea66512], [~accountid:557058:e2510a0a-1767-444f-be52-bae9bb15d3f6], [~accountid:557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced]", "created": "2017-04-18T22:20:00.000000"}, {"author": "70121:b72c16a2-594d-45f8-90bc-c6bc6c9510a8", "body": "That TOC-related warning is pretty common (AFAICT, it's an expected consequence of using GCC on AIX), and I don't think it's the actual cause of the failure. I'll dig in to this in the morning.", "created": "2017-04-18T22:31:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "As [~accountid:70121:b72c16a2-594d-45f8-90bc-c6bc6c9510a8] noted the TOC-related warning is all over the build log, even in builds of 3rd party packages, so it's likely not the cause of the failure.\nThe two builds referenced from the ticket description look like they were interrupted by some kind of restart/rebuild of the worker nodes executing the respective builds:\n* the AIX 6.1 build ends without any error message, except for:\n{code}\n16:01:56 Connection to pe-aix-61-builder.delivery.puppetlabs.net closed by remote host.\n{code}\nfollowed by suspicious:\n{code}\n16:01:56 Refusing to unlock. No lock exists on pe-aix-61-builder.\n{code}\n* the AIX 7.1 build failed because it could not find {{gmake}}:\n{code}\n16:03:41 /bin/sh: gmake:  not found.\n{code}\nwhich is weird as the {{gmake}} had been executed a number of times before in the build\n\nMoreover the very next build succeeded: https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppet-agent_pkg-van-ship_daily-hardware-master/25/\n\nAre there any other failed builds in Jenkins?", "created": "2017-04-19T07:52:00.000000"}, {"author": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "body": "Not that I can see, [~accountid:63d40628f6e1b543161789a7] the CVE pipeline passed the packaging step last night, leading me to believe resetting the builders has helped. should we resolve this?", "created": "2017-04-19T10:32:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Yeah, several builds have gone through, resolving.", "created": "2017-04-19T14:38:00.000000"}], "components": ["cpp-pcp-client"], "created": "2017-04-18T17:31:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform puppet-agent"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@60191f56"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzdf67:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "19/Apr/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_76022544_*|*_5_*:*_1_*:*_0"}], "description": "https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppet-agent_pkg-van-ship_daily-hardware-master/24/BUILD_TARGET=aix-6.1-ppc,SLAVE_LABEL=beaker/console\n\nhttps://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppet-agent_pkg-van-ship_daily-hardware-master/24/BUILD_TARGET=aix-7.1-ppc,SLAVE_LABEL=beaker/\n\n{noformat}\n16:00:54 \tThe branch at address 0x1cfdc is not followed by a recognized no-op\n16:00:54 \tor TOC-reload instruction. The unrecognized instruction is 0x907F000C.\n16:00:54 ld: 0711-768 WARNING: Object CMakeFiles/libcpp-pcp-client.dir/src/connector/v1/connector.cc.o, section 1, function .boost::re_detail::basic_regex_formatter<boost::re_detail::string_out_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >, boost::regex_traits_wrapper<boost::regex_traits<char, boost::cpp_regex_traits<char> > >, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::format_all():\n{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32271", "fixedVersions": [], "id": "32271", "issueType": "CI Blocker", "key": "PCP-739", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Cannot Reproduce", "resolutionDate": "2017-04-19T14:38:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "cpp-pcp-client builds are failing on AIX 6.1 and 7.1", "timeSpent": "PT0S", "updated": "2017-04-19T14:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "aggregatetimeestimate": "120", "aggregatetimeoriginalestimate": "120", "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [{"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] please provide release notes for this issue, if applicable.", "created": "2017-05-15T10:45:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This is now on cpp-pcp-client#stable and should go in the next 1.10.x release.", "created": "2017-06-15T12:26:00.000000"}], "components": ["cpp-pcp-client"], "created": "2017-04-13T15:01:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1b5dbb81"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzdfcn:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "pxp-agents previously included some randomness in the interval they wait before retrying a connection. However, that randomness wasn't very large, and continued to result in a large amount of clustering retries. Introduce more randomness in the wait period to smooth out reconnect attempts."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/May/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_442532660_*|*_1_*:*_1_*:*_415793159_*|*_10007_*:*_1_*:*_119526304_*|*_3_*:*_1_*:*_19809056_*|*_5_*:*_1_*:*_5540892311_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_21991664"}], "description": "When pcp-broker becomes unavailable - as in restarting a load balancer, restarting or reloading pcp-broker - pxp-agent reconnect attempts become very spiky. They'll settle on retrying every 32 seconds (as a group, because there's very little randomization in the backoff), when they all try at once, then all timeout after 5 seconds. This becomes obvious when reconnecting thousands of agents.\n\nIdeally we'd have some sort of smoothing of reconnection attempts. Jetty may provide some mechanisms to reject too many requests more quickly. More randomization in retry delays would help. And we could use a longer connection timeout.", "epicLinkSummary": null, "estimate": "PT120S", "externalId": "31976", "fixedVersions": ["cpp-pcp-client 1.5.3"], "id": "31976", "issueType": "Bug", "key": "PCP-738", "labels": [], "originalEstimate": "PT120S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-04-25T10:15:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agents cause stampede every 30 seconds on broker reload", "timeSpent": "PT0S", "updated": "2017-06-28T13:23:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "attachments": [], "comments": [{"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "There is still a place where similar error can occur:\n{code}\njava.lang.IllegalArgumentException: No implementation of method: :summarize of protocol: #'puppetlabs.pcp.broker.connection/ConnectionInterface found for class: nil\n\tat clojure.core$_cache_protocol_fn.invokeStatic(core_deftype.clj:568)\n\tat clojure.core$_cache_protocol_fn.invoke(core_deftype.clj:560)\n\tat puppetlabs.pcp.broker.connection$eval18211$fn__18212$G__18202__18217.invoke(connection.clj:15)\n\tat puppetlabs.pcp.broker.core$eval30741$default_message_handler__30746$fn__30747.invoke(core.clj:596)\n\tat puppetlabs.pcp.broker.core$eval30741$default_message_handler__30746.invoke(core.clj:588)\n\tat clojure.core$partial$fn__4761.invoke(core.clj:2523)\n\tat puppetlabs.pcp.client$eval17848$dispatch_message__17853$fn__17854.invoke(client.clj:102)\n\tat puppetlabs.pcp.client$eval17848$dispatch_message__17853.invoke(client.clj:95)\n\tat puppetlabs.pcp.client$eval17905$_make_connection__17910$fn__17911$fn__17914$fn__17932.invoke(client.clj:164)\n\tat gniazdo.core$listener$reify__16289.onWebSocketText(core.clj:85)\n\tat org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextMessage(JettyListenerEventDriver.java:189)\n\tat org.eclipse.jetty.websocket.common.message.SimpleTextMessage.messageComplete(SimpleTextMessage.java:69)\n\tat org.eclipse.jetty.websocket.common.events.AbstractEventDriver.appendMessage(AbstractEventDriver.java:66)\n\tat org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextFrame(JettyListenerEventDriver.java:158)\n\tat org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingFrame(AbstractEventDriver.java:162)\n\tat org.eclipse.jetty.websocket.common.WebSocketSession.incomingFrame(WebSocketSession.java:375)\n\tat org.eclipse.jetty.websocket.common.extensions.ExtensionStack.incomingFrame(ExtensionStack.java:220)\n\tat org.eclipse.jetty.websocket.common.Parser.notifyFrame(Parser.java:220)\n\tat org.eclipse.jetty.websocket.common.Parser.parse(Parser.java:256)\n\tat org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.readParse(AbstractWebSocketConnection.java:679)\n\tat org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:511)\n\tat org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)\n\tat org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110)\n\tat org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:278)\n\tat org.eclipse.jetty.io.ssl.SslConnection$3.succeeded(SslConnection.java:148)\n\tat org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110)\n\tat org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)\n\tat org.eclipse.jetty.util.thread.Invocable.invokePreferred(Invocable.java:128)\n\tat org.eclipse.jetty.util.thread.Invocable$InvocableExecutor.invoke(Invocable.java:222)\n\tat org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:294)\n\tat org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:199)\n\tat org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:672)\n\tat org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:590)\n\tat java.lang.Thread.run(Thread.java:745)\n{code}", "created": "2017-06-22T07:05:00.000000"}], "components": ["pcp-broker"], "created": "2017-04-07T17:07:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@30a838fe"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzd7af:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/Jun/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_100242743_*|*_1_*:*_1_*:*_5759696966_*|*_10007_*:*_2_*:*_277813856_*|*_3_*:*_1_*:*_248126673_*|*_4_*:*_1_*:*_16481984_*|*_5_*:*_2_*:*_222464897_*|*_10006_*:*_1_*:*_10747337"}], "description": "Attempt to report an error from the on-error websocket handler results in an exception instead. Likely a race with the connection closing.\n\n{code}\n2017-04-07 22:31:35,110 WARN  [qtp2068127311-854] [o.e.j.u.t.QueuedThreadPool]\njava.lang.IllegalArgumentException: No implementation of method: :summarize of protocol: #'puppetlabs.pcp.broker.connection/ConnectionInterface found for class: nil\n        at clojure.core$_cache_protocol_fn.invokeStatic(core_deftype.clj:568)\n        at clojure.core$_cache_protocol_fn.invoke(core_deftype.clj:560)\n        at puppetlabs.pcp.broker.connection$eval22175$fn__22176$G__22166__22181.invoke(connection.clj:15)\n        at puppetlabs.pcp.broker.core$on_error.invokeStatic(core.clj:489)\n        at puppetlabs.pcp.broker.core$on_error.invoke(core.clj:485)\n        at clojure.core$partial$fn__4759.invoke(core.clj:2516)\n        at puppetlabs.trapperkeeper.services.webserver.experimental.jetty9_websockets$eval30886$proxy_ws_adapter__30891$fn__30892$fn__30898.invoke(jetty9_websockets.clj:87)\n        at puppetlabs.trapperkeeper.services.webserver.experimental.jetty9_websockets.proxy$org.eclipse.jetty.websocket.api.WebSocketAdapter$CertGetter$37c4cf7.onWebSocketError(Unknown Source)\n        at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onError(JettyListenerEventDriver.java:93)\n        at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingError(AbstractEventDriver.java:94)\n        at org.eclipse.jetty.websocket.common.WebSocketSession.incomingError(WebSocketSession.java:296)\n        at org.eclipse.jetty.websocket.common.WebSocketSession.notifyError(WebSocketSession.java:347)\n        at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onReadTimeout(AbstractWebSocketConnection.java:541)\n        at org.eclipse.jetty.io.AbstractConnection.onFillInterestedFailed(AbstractConnection.java:173)\n        at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillInterestedFailed(AbstractWebSocketConnection.java:506)\n        at org.eclipse.jetty.io.AbstractConnection$ReadCallback$1.run(AbstractConnection.java:582)\n        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)\n        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)\n        at java.lang.Thread.run(Thread.java:745)\n2017-04-07 22:31:35,110 WARN  [qtp2068127311-854] [o.e.j.u.t.QueuedThreadPool] Unexpected thread death: org.eclipse.jetty.util.thread.QueuedThreadPool$3@21fd8bb3 in qtp2068127311{STARTED,8<=8<=200,i=2,q=0}\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31544", "fixedVersions": ["pcp-broker 1.4.0"], "id": "31544", "issueType": "Bug", "key": "PCP-737", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-06-23T12:20:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Message from on-error results in exception", "timeSpent": "PT0S", "updated": "2017-06-23T12:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "[~accountid:557058:1019c0c3-ad91-4a7a-9c3b-f25baf4e3213] do you have some suggestions on what types of testing we should do around umask permissions? Things in Puppet that would be particularly affected by this?\n\nMy initial thoughts are just set a custom umask on pxp-agent and ensure files created by Puppet inherit that umask.", "created": "2017-04-11T10:52:00.000000"}, {"author": "557058:1019c0c3-ad91-4a7a-9c3b-f25baf4e3213", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e], that sounds right to me. I would make sure the custom umask is set in the shell prior to starting pxp-agent (e.g., {{umask 027 && /opt/puppetlabs/puppet/bin/pxp-agent}}).\n\nIn one of the later Linux 4.x kernels, you can check the umask of a running process directly through {{/proc}}, but you're stuck using gdb on the older ones, so checking permissions on created files will be your best bet.", "created": "2017-04-11T11:18:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "In an excellent twist of fate, not all pxp-agent service implementations daemonize. So it appears OSX, systemd systems, and AIX aren't affected by this issue, as they explicitly use {{-foreground}} in their service scripts.", "created": "2017-04-11T13:17:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "In practice, how would someone apply umask? With most of the init systems, I assume they'd have to modify the init script.", "created": "2017-04-11T14:13:00.000000"}, {"author": "557058:1019c0c3-ad91-4a7a-9c3b-f25baf4e3213", "body": "They don't modify the init scripts directly, but that's basically how it happens.\n\nIn systemd, I don't know if there's a clean way to do this globally, but you can set it per-unit with an override in a .d directory. In init, I've seen it done globally by putting it in {{/etc/sysconfig/init}}, but you can also do this per service in the respective sysconfig file (although putting commands instead of variables in sysconfig is probably not the original intention, it definitely works).", "created": "2017-04-11T14:21:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "Given that the umask is only set when pxp-agent demonizes itself (as opposed to being executed in a daemon environment by systemd/launchd) I'd suggest simply removing the umask call.\n\n[~accountid:557058:1019c0c3-ad91-4a7a-9c3b-f25baf4e3213] [~accountid:557058:29f801b5-e0f5-4278-a19b-0e5101f2094d] Do you see any problem in that?", "created": "2017-04-18T09:34:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "[~accountid:557058:093475a3-6bc8-4a70-8034-ae5a2ea66512], that's fine by me.", "created": "2017-04-18T09:55:00.000000"}, {"author": "557058:1019c0c3-ad91-4a7a-9c3b-f25baf4e3213", "body": "[~accountid:557058:093475a3-6bc8-4a70-8034-ae5a2ea66512] That's perfect.", "created": "2017-04-18T10:02:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:093475a3-6bc8-4a70-8034-ae5a2ea66512] please provide release notes for this issue, if required.", "created": "2017-04-19T08:37:00.000000"}], "components": [], "created": "2017-04-07T16:19:00.000000", "creator": "557058:1019c0c3-ad91-4a7a-9c3b-f25baf4e3213", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@57458f43"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzcsuf:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "pxp-agent no longer sets its own umask when daemonized."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/Apr/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_19358136_*|*_1_*:*_1_*:*_323400022_*|*_10007_*:*_2_*:*_521795927_*|*_3_*:*_1_*:*_30952589_*|*_5_*:*_1_*:*_1892998917_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_56595_*|*_10006_*:*_1_*:*_69189337_*|*_10005_*:*_1_*:*_50183825"}], "description": "The pxp-agent hard codes its umask to 02 instead of inheriting it from the shell or init system. As a result, processes started by pxp-agent (like Puppet) will not respect the system umask.\n\nMany users are very particular about the default umask due to security or compliance reasons (e.g., STIG mandates a umask of 0022 or 0027). Most Linux services inherit this from their init system, or they change it in their init script. Neither option is currently possible with pxp-agent.\n\nThis is also a problem for Puppet resources that create files without permissions (e.g., vcsrepo with the svn provider) if the Puppet run is started from PXP.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32266", "fixedVersions": ["pxp-agent 1.5.2"], "id": "32266", "issueType": "Bug", "key": "PCP-736", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:1019c0c3-ad91-4a7a-9c3b-f25baf4e3213", "resolution": "Fixed", "resolutionDate": "2017-04-19T10:14:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "umask is hard coded in pxp-agent", "timeSpent": "PT0S", "updated": "2017-05-11T08:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Have also run into this in Jenkins CI.", "created": "2017-06-19T12:56:00.000000"}], "components": ["pcp-broker"], "created": "2017-03-23T20:33:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Eliminate transient failure"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2cf122fc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzcv1j:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_11353361_*|*_1_*:*_1_*:*_7657323880_*|*_10007_*:*_1_*:*_46892754_*|*_3_*:*_1_*:*_20269057_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_708976408"}], "description": "{code}\nlein test :only puppetlabs.pcp.broker.service-test/max-connections-is-respected\nFAIL in (max-connections-is-respected) (service_test.clj:536)\npositive limit is enforced\nexpected: (not (client/connected? client2))\n  actual: (not (not true))\n{code}\n\nThis is likely some sort of race in the test related to the max-connections enforcement.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31615", "fixedVersions": ["pcp-broker 1.4.0"], "id": "31615", "issueType": "Bug", "key": "PCP-735", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-06-29T14:20:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Intermittent failures in max-connections-is-respected test in Travis CI", "timeSpent": "PT0S", "updated": "2017-06-29T14:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["cpp-pcp-client"], "created": "2017-03-23T12:13:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "pxp-agents should attempt to reconnect shortly after onClose triggered for connection"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1107ba40"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzcumv:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "pxp-agents previously would only detect a lost connection when attempting to ping the broker. They'll now detect lost connections and attempt to reconnect almost immediately, after a short delay to prevent constant retries if the connection keeps getting closed by the broker."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_4889734_*|*_1_*:*_1_*:*_1427518_*|*_10007_*:*_1_*:*_6993971_*|*_5_*:*_1_*:*_1180610100_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1199331"}], "description": "pxp-agents only check for lost connections on the ping-interval. That can be up to 15 seconds (or more if ping-interval is modified) to identify a lost connection and attempt to reconnect.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31658", "fixedVersions": ["cpp-pcp-client 1.5.0"], "id": "31658", "issueType": "Bug", "key": "PCP-734", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-03-23T16:14:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agents don't immediately attempt to reconnect after pcp-broker reloaded/restarted", "timeSpent": "PT0S", "updated": "2017-04-06T08:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "The message I see on the test machine in the Application log is\n\n{code}\nINFO: Using configured environment 'run_puppet_nonascii_g273oijh'\nINFO: Retrieving pluginfacts\nINFO: Retrieving plugin\nINFO: Caching catalog for r2omr5g4cjlostv.delivery.puppetlabs.net\nINFO: Applying configuration version '1490139894'\nERROR: The parameter is incorrect. - ReportEvent\nERROR: /Stage[main]/Main/Node[default]/Notify[\u7669\uf8f0\u766a\u30fb\u57c6\u7b18\u30be/message: change from absent to \u7669\uf8f0\u766a\u30fb\u57c6\u7b18\u30fbfailed: The parameter is incorrect. - ReportEvent\n{code}\n\nI suspect we're hitting a bug in Puppet. I can help dig further tomorrow.\n\nThe Puppet manifest the test is using is\n{code}\nnode default {\n  notify {'\u16a0\u16c7\u16bb\u2603':}\n}\n{code}", "created": "2017-03-21T18:22:00.000000"}, {"author": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "body": "The call to {{ReportEvent}} is inside the {{win32-eventlog}} gem around https://github.com/djberg96/win32-eventlog/blob/win32-eventlog-0.6.5/lib/win32/eventlog.rb#L704-L721\n\nWe want to remove that gem in Puppet 5 as part of PUP-5756, but we're not there yet.\n\nBut there's probably something else happening *before* the call to {{ReportEvent}} is made.  Can you get a complete log with {{--trace --debug --verbose}} on so we can get the full stack?  My hunch is that a non-Unicode string is propagating through the system, and is mangled by the time it gets to {{ReportEvent}}", "created": "2017-03-22T11:53:00.000000"}, {"author": "557058:e484fb55-2ddc-43a0-968e-11d70ae3153c", "body": "When working on PUP-5756, I did notice that the ReportEvent implementation in win32-eventlog is using the 'A' ANSI version of the function rather than 'W' unicode version: https://github.com/djberg96/win32-eventlog/blob/win32-eventlog-0.6.5/lib/win32/windows/functions.rb#L37. That is corrected in the PR for PUP-5756 (which is ready for review/merge, sidenote)", "created": "2017-03-22T11:59:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "{code}\n$ /cygdrive/c/Program\\ Files/Puppet\\ Labs/Puppet/bin/puppet.bat agent -t --server ue8zr2uunkh05hj.delivery.puppetlabs.net --environment run_puppet_nonascii_6qumtgx2 --trace --debug --verbose\nDebug: Failed to load library 'syslog' for feature 'syslog'\nDebug: Applying settings catalog for sections main, agent, ssl\nDebug: Failed to load library 'selinux' for feature 'selinux'\nDebug: Using settings: adding file resource 'confdir': 'File[C:/ProgramData/PuppetLabs/puppet/etc]{:path=>\"C:/ProgramData/PuppetLabs/puppet/etc\", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'\nDebug: Using settings: adding file resource 'codedir': 'File[C:/ProgramData/PuppetLabs/code]{:path=>\"C:/ProgramData/PuppetLabs/code\", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'\nDebug: Using settings: adding file resource 'vardir': 'File[C:/ProgramData/PuppetLabs/puppet/cache]{:path=>\"C:/ProgramData/PuppetLabs/puppet/cache\", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'\nDebug: Using settings: adding file resource 'logdir': 'File[C:/ProgramData/PuppetLabs/puppet/var/log]{:path=>\"C:/ProgramData/PuppetLabs/puppet/var/log\", :mode=>\"750\", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'\nDebug: Using settings: adding file resource 'statedir': 'File[C:/ProgramData/PuppetLabs/puppet/cache/state]{:path=>\"C:/ProgramData/PuppetLabs/puppet/cache/state\", :mode=>\"1755\", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'\nDebug: Using settings: adding file resource 'rundir': 'File[C:/ProgramData/PuppetLabs/puppet/var/run]{:path=>\"C:/ProgramData/PuppetLabs/puppet/var/run\", :mode=>\"755\", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'\nDebug: Using settings: adding file resource 'libdir': 'File[C:/ProgramData/PuppetLabs/puppet/cache/lib]{:path=>\"C:/ProgramData/PuppetLabs/puppet/cache/lib\", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'\nDebug: Using settings: adding file resource 'hiera_config': 'File[C:/ProgramData/PuppetLabs/puppet/etc/hiera.yaml]{:path=>\"C:/ProgramData/PuppetLabs/puppet/etc/hiera.yaml\", :ensure=>:file, :loglevel=>:debug, :links=>:follow, :backup=>false}'\nDebug: Using settings: adding file resource 'preview_outputdir': 'File[C:/ProgramData/PuppetLabs/puppet/cache/preview]{:path=>\"C:/ProgramData/PuppetLabs/puppet/cache/preview\", :mode=>\"750\", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'\nDebug: Using settings: adding file resource 'certdir': 'File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/certs]{:path=>\"C:/ProgramData/PuppetLabs/puppet/etc/ssl/certs\", :mode=>\"755\", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'\nDebug: Using settings: adding file resource 'ssldir': 'File[C:/ProgramData/PuppetLabs/puppet/etc/ssl]{:path=>\"C:/ProgramData/PuppetLabs/puppet/etc/ssl\", :mode=>\"771\", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'\nDebug: Using settings: adding file resource 'publickeydir': 'File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/public_keys]{:path=>\"C:/ProgramData/PuppetLabs/puppet/etc/ssl/public_keys\", :mode=>\"755\", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'\nDebug: Using settings: adding file resource 'requestdir': 'File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/certificate_requests]{:path=>\"C:/ProgramData/PuppetLabs/puppet/etc/ssl/certificate_requests\", :mode=>\"755\", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'\nDebug: Using settings: adding file resource 'privatekeydir': 'File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/private_keys]{:path=>\"C:/ProgramData/PuppetLabs/puppet/etc/ssl/private_keys\", :mode=>\"750\", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'\nDebug: Using settings: adding file resource 'privatedir': 'File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/private]{:path=>\"C:/ProgramData/PuppetLabs/puppet/etc/ssl/private\", :mode=>\"750\", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'\nDebug: Using settings: adding file resource 'hostcert': 'File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/certs/xiw4aku7fsqui4f.delivery.puppetlabs.net.pem]{:path=>\"C:/ProgramData/PuppetLabs/puppet/etc/ssl/certs/xiw4aku7fsqui4f.delivery.puppetlabs.net.pem\", :mode=>\"644\", :ensure=>:file, :loglevel=>:debug, :links=>:follow, :backup=>false}'\nDebug: Using settings: adding file resource 'hostprivkey': 'File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/private_keys/xiw4aku7fsqui4f.delivery.puppetlabs.net.pem]{:path=>\"C:/ProgramData/PuppetLabs/puppet/etc/ssl/private_keys/xiw4aku7fsqui4f.delivery.puppetlabs.net.pem\", :mode=>\"640\", :ensure=>:file, :loglevel=>:debug, :links=>:follow, :backup=>false}'\nDebug: Using settings: adding file resource 'hostpubkey': 'File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/public_keys/xiw4aku7fsqui4f.delivery.puppetlabs.net.pem]{:path=>\"C:/ProgramData/PuppetLabs/puppet/etc/ssl/public_keys/xiw4aku7fsqui4f.delivery.puppetlabs.net.pem\", :mode=>\"644\", :ensure=>:file, :loglevel=>:debug, :links=>:follow, :backup=>false}'\nDebug: Using settings: adding file resource 'localcacert': 'File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/certs/ca.pem]{:path=>\"C:/ProgramData/PuppetLabs/puppet/etc/ssl/certs/ca.pem\", :mode=>\"644\", :ensure=>:file, :loglevel=>:debug, :links=>:follow, :backup=>false}'\nDebug: Using settings: adding file resource 'hostcrl': 'File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/crl.pem]{:path=>\"C:/ProgramData/PuppetLabs/puppet/etc/ssl/crl.pem\", :mode=>\"644\", :ensure=>:file, :loglevel=>:debug, :links=>:follow, :backup=>false}'\nDebug: Using settings: adding file resource 'statefile': 'File[C:/ProgramData/PuppetLabs/puppet/cache/state/state.yaml]{:path=>\"C:/ProgramData/PuppetLabs/puppet/cache/state/state.yaml\", :mode=>\"660\", :ensure=>:file, :loglevel=>:debug, :links=>:follow, :backup=>false}'\nDebug: Using settings: adding file resource 'transactionstorefile': 'File[C:/ProgramData/PuppetLabs/puppet/cache/state/transactionstore.yaml]{:path=>\"C:/ProgramData/PuppetLabs/puppet/cache/state/transactionstore.yaml\", :mode=>\"660\", :ensure=>:file, :loglevel=>:debug, :links=>:follow, :backup=>false}'\nDebug: Using settings: adding file resource 'clientyamldir': 'File[C:/ProgramData/PuppetLabs/puppet/cache/client_yaml]{:path=>\"C:/ProgramData/PuppetLabs/puppet/cache/client_yaml\", :mode=>\"750\", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'\nDebug: Using settings: adding file resource 'client_datadir': 'File[C:/ProgramData/PuppetLabs/puppet/cache/client_data]{:path=>\"C:/ProgramData/PuppetLabs/puppet/cache/client_data\", :mode=>\"750\", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'\nDebug: Using settings: adding file resource 'classfile': 'File[C:/ProgramData/PuppetLabs/puppet/cache/state/classes.txt]{:path=>\"C:/ProgramData/PuppetLabs/puppet/cache/state/classes.txt\", :mode=>\"640\", :ensure=>:file, :loglevel=>:debug, :links=>:follow, :backup=>false}'\nDebug: Using settings: adding file resource 'resourcefile': 'File[C:/ProgramData/PuppetLabs/puppet/cache/state/resources.txt]{:path=>\"C:/ProgramData/PuppetLabs/puppet/cache/state/resources.txt\", :mode=>\"640\", :ensure=>:file, :loglevel=>:debug, :links=>:follow, :backup=>false}'\nDebug: Using settings: adding file resource 'clientbucketdir': 'File[C:/ProgramData/PuppetLabs/puppet/cache/clientbucket]{:path=>\"C:/ProgramData/PuppetLabs/puppet/cache/clientbucket\", :mode=>\"750\", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'\nDebug: Using settings: adding file resource 'lastrunfile': 'File[C:/ProgramData/PuppetLabs/puppet/cache/state/last_run_summary.yaml]{:path=>\"C:/ProgramData/PuppetLabs/puppet/cache/state/last_run_summary.yaml\", :mode=>\"644\", :ensure=>:file, :loglevel=>:debug, :links=>:follow, :backup=>false}'\nDebug: Using settings: adding file resource 'lastrunreport': 'File[C:/ProgramData/PuppetLabs/puppet/cache/state/last_run_report.yaml]{:path=>\"C:/ProgramData/PuppetLabs/puppet/cache/state/last_run_report.yaml\", :mode=>\"640\", :ensure=>:file, :loglevel=>:debug, :links=>:follow, :backup=>false}'\nDebug: Using settings: adding file resource 'graphdir': 'File[C:/ProgramData/PuppetLabs/puppet/cache/state/graphs]{:path=>\"C:/ProgramData/PuppetLabs/puppet/cache/state/graphs\", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'\nDebug: Using settings: adding file resource 'pluginfactdest': 'File[C:/ProgramData/PuppetLabs/puppet/cache/facts.d]{:path=>\"C:/ProgramData/PuppetLabs/puppet/cache/facts.d\", :ensure=>:directory, :loglevel=>:debug, :links=>:follow, :backup=>false}'\nDebug: Puppet::Type::File::ProviderPosix: feature posix is missing\nDebug: Facter: searching for custom fact \"operatingsystem\".\nDebug: Facter: searching for operatingsystem.rb in C:/ProgramData/PuppetLabs/puppet/cache/lib/facter.\nDebug: Facter: searching for operatingsystem.rb in C:/ProgramData/PuppetLabs/puppet/cache/facts.\nDebug: Facter: searching for operatingsystem.rb in C:/ProgramData/PuppetLabs/puppet/cache/lib/facter.\nDebug: Facter: searching for operatingsystem.rb in C:/ProgramData/PuppetLabs/puppet/cache/facts.\nDebug: Facter: fact \"facterversion\" has resolved to \"4.0.0\".\nDebug: Facter: fact \"aio_agent_version\" has resolved to \"1.9.3.200\".\nDebug: Facter: initializing WMI\nDebug: Facter: searching \"C:\\ProgramData\\PuppetLabs\\facter\\facts.d\" for external facts.\nDebug: Facter: no external facts were found.\nDebug: Facter: setting fact \"env_windows_installdir\" based on the value of environment variable \"FACTER_env_windows_installdir\".\nDebug: Facter: fact \"env_windows_installdir\" has resolved to \"C:\\Program Files\\Puppet Labs\\Puppet\".\nDebug: Facter: resolving operating system facts.\nDebug: Facter: resolving kernel facts.\nDebug: Facter: fact \"kernel\" has resolved to \"windows\".\nDebug: Facter: fact \"kernelrelease\" has resolved to \"6.3.9600\".\nDebug: Facter: fact \"kernelmajversion\" has resolved to \"6.3\".\nDebug: Facter: fact \"kernelversion\" has resolved to \"6.3.9600\".\nDebug: Facter: fact \"osfamily\" has resolved to \"windows\".\nDebug: Facter: fact \"operatingsystemmajrelease\" has resolved to \"2012 R2\".\nDebug: Facter: fact \"operatingsystemrelease\" has resolved to \"2012 R2\".\nDebug: Facter: fact \"hardwaremodel\" has resolved to \"x86_64\".\nDebug: Facter: fact \"architecture\" has resolved to \"x64\".\nDebug: Facter: fact \"operatingsystem\" has resolved to \"windows\".\nDebug: Facter: fact \"system32\" has resolved to \"C:\\Windows\\system32\".\nDebug: Facter: fact \"os\" has resolved to {\n  architecture => \"x64\",\n  family => \"windows\",\n  hardware => \"x86_64\",\n  name => \"windows\",\n  release => {\n    full => \"2012 R2\",\n    major => \"2012 R2\"\n  },\n  windows => {\n    system32 => \"C:\\Windows\\system32\"\n  }\n}.\nDebug: Failed to load library 'cfpropertylist' for feature 'cfpropertylist'\nDebug: Failed to load library 'shadow' for feature 'libshadow'\nDebug: Failed to load library 'shadow' for feature 'libshadow'\nDebug: Failed to load library 'cfpropertylist' for feature 'cfpropertylist'\nDebug: /File[C:/ProgramData/PuppetLabs/puppet/cache/state]: Adding autorequire relationship with File[C:/ProgramData/PuppetLabs/puppet/cache]\nDebug: /File[C:/ProgramData/PuppetLabs/puppet/cache/lib]: Adding autorequire relationship with File[C:/ProgramData/PuppetLabs/puppet/cache]\nDebug: /File[C:/ProgramData/PuppetLabs/puppet/etc/hiera.yaml]: Adding autorequire relationship with File[C:/ProgramData/PuppetLabs/puppet/etc]\nDebug: /File[C:/ProgramData/PuppetLabs/puppet/cache/preview]: Adding autorequire relationship with File[C:/ProgramData/PuppetLabs/puppet/cache]\nDebug: /File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/certs]: Adding autorequire relationship with File[C:/ProgramData/PuppetLabs/puppet/etc/ssl]\nDebug: /File[C:/ProgramData/PuppetLabs/puppet/etc/ssl]: Adding autorequire relationship with File[C:/ProgramData/PuppetLabs/puppet/etc]\nDebug: /File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/public_keys]: Adding autorequire relationship with File[C:/ProgramData/PuppetLabs/puppet/etc/ssl]\nDebug: /File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/certificate_requests]: Adding autorequire relationship with File[C:/ProgramData/PuppetLabs/puppet/etc/ssl]\nDebug: /File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/private_keys]: Adding autorequire relationship with File[C:/ProgramData/PuppetLabs/puppet/etc/ssl]\nDebug: /File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/private]: Adding autorequire relationship with File[C:/ProgramData/PuppetLabs/puppet/etc/ssl]\nDebug: /File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/certs/xiw4aku7fsqui4f.delivery.puppetlabs.net.pem]: Adding autorequire relationship with File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/certs]\nDebug: /File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/private_keys/xiw4aku7fsqui4f.delivery.puppetlabs.net.pem]: Adding autorequire relationship with File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/private_keys]\nDebug: /File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/public_keys/xiw4aku7fsqui4f.delivery.puppetlabs.net.pem]: Adding autorequire relationship with File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/public_keys]\nDebug: /File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/certs/ca.pem]: Adding autorequire relationship with File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/certs]\nDebug: /File[C:/ProgramData/PuppetLabs/puppet/etc/ssl/crl.pem]: Adding autorequire relationship with File[C:/ProgramData/PuppetLabs/puppet/etc/ssl]\nDebug: /File[C:/ProgramData/PuppetLabs/puppet/cache/state/state.yaml]: Adding autorequire relationship with File[C:/ProgramData/PuppetLabs/puppet/cache/state]\nDebug: /File[C:/ProgramData/PuppetLabs/puppet/cache/state/transactionstore.yaml]: Adding autorequire relationship with File[C:/ProgramData/PuppetLabs/puppet/cache/state]\nDebug: /File[C:/ProgramData/PuppetLabs/puppet/cache/client_yaml]: Adding autorequire relationship with File[C:/ProgramData/PuppetLabs/puppet/cache]\nDebug: /File[C:/ProgramData/PuppetLabs/puppet/cache/client_data]: Adding autorequire relationship with File[C:/ProgramData/PuppetLabs/puppet/cache]\nDebug: /File[C:/ProgramData/PuppetLabs/puppet/cache/state/classes.txt]: Adding autorequire relationship with File[C:/ProgramData/PuppetLabs/puppet/cache/state]\nDebug: /File[C:/ProgramData/PuppetLabs/puppet/cache/state/resources.txt]: Adding autorequire relationship with File[C:/ProgramData/PuppetLabs/puppet/cache/state]\nDebug: /File[C:/ProgramData/PuppetLabs/puppet/cache/clientbucket]: Adding autorequire relationship with File[C:/ProgramData/PuppetLabs/puppet/cache]\nDebug: /File[C:/ProgramData/PuppetLabs/puppet/cache/state/last_run_summary.yaml]: Adding autorequire relationship with File[C:/ProgramData/PuppetLabs/puppet/cache/state]\nDebug: /File[C:/ProgramData/PuppetLabs/puppet/cache/state/last_run_report.yaml]: Adding autorequire relationship with File[C:/ProgramData/PuppetLabs/puppet/cache/state]\nDebug: /File[C:/ProgramData/PuppetLabs/puppet/cache/state/graphs]: Adding autorequire relationship with File[C:/ProgramData/PuppetLabs/puppet/cache/state]\nDebug: /File[C:/ProgramData/PuppetLabs/puppet/cache/facts.d]: Adding autorequire relationship with File[C:/ProgramData/PuppetLabs/puppet/cache]\nDebug: Finishing transaction 24141300\nDebug: Runtime environment: puppet_version=5.0.0, ruby_version=2.3.3, run_mode=agent, default_encoding=Windows-31J\nDebug: Using cached certificate for ca\nDebug: Using cached certificate for xiw4aku7fsqui4f.delivery.puppetlabs.net\nDebug: Loaded state in 0.00 seconds\nDebug: Dynamically-bound server lookup failed, falling back to server setting\nDebug: Dynamically-bound port lookup failed", "created": "2017-03-22T13:43:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "In the short-term, we could change the test to use japanese characters (if they work) on the japanese platform.", "created": "2017-03-22T13:44:00.000000"}, {"author": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "body": "You could try some variations on the content for now [~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] - though I'm not sure it will work given the API called is the {{A}} version as Moses noted.  This could get interesting....", "created": "2017-03-22T14:58:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "So PUP-5756 covers this. I'm going to disable the test on the japanese host, and leave this ticket open to re-enable it when the PUP ticket is fixed.", "created": "2017-03-22T15:36:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Put up a PR to skip the test on Windows machines with the Japanese locale.", "created": "2017-03-22T16:40:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This should be unblocked now.", "created": "2017-03-29T17:34:00.000000"}, {"author": "557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8", "body": "Closing due to lack of activity in 2+years.  Feel free to reopen if needed.", "created": "2019-11-08T11:43:00.000000"}], "components": [], "created": "2017-03-21T09:29:00.000000", "creator": "557058:89341248-d23e-4b19-a2b6-66b9bb55eb83", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform pxp-agent"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@56679b3e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzcs8n:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/Mar/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_112255104_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_608008132_*|*_10006_*:*_1_*:*_82408163104"}], "description": "master:\n\nhttps://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/master/view/puppet-agent/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/lastCompletedBuild/SLAVE_LABEL=beaker,TEST_TARGET=windows2012r2_ja-64a/testReport/(root)/tests_pxp-module-puppet/run_puppet_nonASCII_rb/\n\nResult of pxp-module-puppet run on uhciadlp1r33r71.delivery.puppetlabs.net should be 'changed'.\nExpected: \"changed\"\n  Actual: \"failed\"\n\n1.10.x\n\nhttps://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/1.10.x/view/puppet-agent/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-1.10.x/15/\n\nThis test is being skipped for windows2012r2_ja-64 hosts. It should be re-enabled once PUP-5756 is fixed.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31543", "fixedVersions": [], "id": "31543", "issueType": "CI Blocker", "key": "PCP-733", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Blocker", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:89341248-d23e-4b19-a2b6-66b9bb55eb83", "resolution": "Won't Do", "resolutionDate": "2019-11-08T11:43:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "tests/pxp-module-puppet.run_puppet_nonASCII.rb fails on Japanese machines", "timeSpent": "PT0S", "updated": "2019-11-08T11:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pcp-broker"], "created": "2017-03-18T13:57:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5296a393"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hylv2v:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Several log messages for understanding normal and abnormal operation have been raised to info/warning levels."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_1628075_*|*_1_*:*_1_*:*_4135092640_*|*_10007_*:*_1_*:*_867255648_*|*_3_*:*_1_*:*_371895353_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_2408068250"}], "description": "Debugging the broker almost always requires turning on debug logging. This shouldn't be true for simple things. Establish guidelines around what should be logged at each level, and bring the implementation in-sync with that. These shouldn't change access logging, as that's already been carefully designed.\n\nERROR: abnormal failure to startup, establish a connection, or deliver a message\nWARNING: authorization or authentication failure, or failure to process a message\nINFO: change in service or connections (connect/disconnect)\nDEBUG: sending or responding to messages with identifying information (but not content), completing state transitions (namely those logged at INFO)\nTRACE: receiving messages with full contents, full contents of responses", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31657", "fixedVersions": ["pcp-broker 1.4.0"], "id": "31657", "issueType": "Improvement", "key": "PCP-732", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-06-16T16:09:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Refine logging in broker", "timeSpent": "PT0S", "updated": "2017-06-16T16:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "attachments": [], "comments": [], "components": ["clj-pcp-client", "clj-pcp-common", "clj-pxp-puppet", "pcp-broker"], "created": "2017-03-16T15:23:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2bca10bf"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzcoq7:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_9418_*|*_10007_*:*_1_*:*_344653845_*|*_3_*:*_1_*:*_1467955_*|*_5_*:*_1_*:*_0"}], "description": "INTL-12 renamed pot files, and is a blocker for setting up automatically updating those files in CI.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32265", "fixedVersions": ["clj-pcp-client 1.1.2", "clj-pcp-client 1.1.3", "clj-pcp-common 1.1.2", "clj-pcp-common 1.1.3", "clj-pxp-puppet 1.0.1", "pcp-broker 1.2.1"], "id": "32265", "issueType": "Improvement", "key": "PCP-731", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-03-20T15:31:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Update to clj-i18n 0.7.0 for INTL-12 fix", "timeSpent": "PT0S", "updated": "2017-03-20T15:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Fixed by https://github.com/puppetlabs/pcp-broker/pull/188.", "created": "2017-04-25T05:27:00.000000"}], "components": ["pcp-broker"], "created": "2017-03-16T15:10:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5a7ce6e4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzcopr:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3421050152_*|*_5_*:*_1_*:*_0"}], "description": "Coinciding with puppetserver 5, move trapperkeeper-metrics to 1.0 (via clj-parent 0.5+).", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31975", "fixedVersions": ["pcp-broker 1.3.0"], "id": "31975", "issueType": "Task", "key": "PCP-730", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-04-25T05:28:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Move to trapperkeeper-metrics 1.0", "timeSpent": "PT0S", "updated": "2017-04-25T05:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Needs some more review of the scenarios under which we rely on pings to trigger failover. I thought it was only when the connection was externally blocked, but also appears to happen if pcp-broker is killed.", "created": "2017-03-21T16:57:00.000000"}], "components": ["pxp-agent"], "created": "2017-03-15T14:39:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@502b6a6a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzcnb3:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Default ping interval is increased to 2 minutes to reduce disconnect/reconnect cycling against a heavily loaded broker. This has a side effect that failover when a connection is unavailable but the TCP connection was not properly closed will now take 4-6 minutes instead of 35-50 seconds."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_3_*:*_38928532_*|*_1_*:*_1_*:*_92196278_*|*_10007_*:*_2_*:*_733423079_*|*_4_*:*_1_*:*_270454094_*|*_5_*:*_1_*:*_742373562_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_146073"}], "description": "The default ping-interval of 15 seconds, combined with allowed-keepalive-timeouts of 2, means that if the pcp-broker is overloaded for more than 45 seconds the agent will disconnect and reconnect. This can happen when several thousand agents attempt to connect at once, causing reconnection to spiral out of control.\n\nThe ping only has 2 functions: prevent the server from disconnecting the agent (currently the server has a 15 minute timeout) and detect if the server has become unavailable without closing the TCP connection cleanly. This 2nd one doesn't need to happen on such a quick interval. We should up the default to several (10?) minutes before the agent decides to disconnect.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31727", "fixedVersions": ["pxp-agent 1.5.0"], "id": "31727", "issueType": "Bug", "key": "PCP-729", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-03-28T17:58:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Short ping timeout causes heavy disconnect/reconnect under load", "timeSpent": "PT0S", "updated": "2017-04-06T08:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:22d0f8be-5a48-45ef-8078-6e91e5c34720", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I suspect this might be causing PCP-705.", "created": "2017-03-27T12:27:00.000000"}, {"author": "557058:22d0f8be-5a48-45ef-8078-6e91e5c34720", "body": "On investigation it looks like calls to close call the handler synchronously, so this isn't an issue.", "created": "2017-04-10T12:31:00.000000"}, {"author": "557058:22d0f8be-5a48-45ef-8078-6e91e5c34720", "body": "The easy way to verify this is to do something like this:\nhttps://gist.github.com/wkalt/edac10e0cfecd8c37d28fa974b1295d5\n\nand then run \n{code}\nlein test :only puppetlabs.pcp.broker.service-test/connection-supersede-test\n{code}\n\nyou will see the string \"timed out\" printed, meaning we introduced a deadlock between websockets-client/close! and the promise delivery, which means websockets-client/close! synchronously calls the handler.\n\n", "created": "2017-04-10T12:38:00.000000"}], "components": [], "created": "2017-03-15T10:06:00.000000", "creator": "557058:22d0f8be-5a48-45ef-8078-6e91e5c34720", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@57e380e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hym9h3:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Mar/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_1917710961_*|*_3_*:*_1_*:*_337416307_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_5564"}], "description": "It looks to me like there's a race between this line\nhttps://github.com/puppetlabs/pcp-broker/blob/master/src/puppetlabs/pcp/broker/core.clj#L479\n\nand the asynchronous close two lines above. There's potential for a superceding connection to get added to the inventory before the closed connection is removed, which will result in the closed connection getting overridden and the new connection getting deleted but not closed (all speculative, not observed). We should add a check to make sure we're talking about the same connection at both times.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32303", "fixedVersions": [], "id": "32303", "issueType": "Bug", "key": "PCP-728", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:22d0f8be-5a48-45ef-8078-6e91e5c34720", "resolution": "Won't Fix", "resolutionDate": "2017-04-10T12:31:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "potential ws connection leak in the broker", "timeSpent": "PT0S", "updated": "2017-04-10T12:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Further explanation: the websocket-client's send function isn't thread-safe, so we have to ensure it's only called one at a time.", "created": "2017-05-17T10:37:00.000000"}, {"author": "557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8", "body": "Closing due to lack of activity in 2+years.  Feel free to reopen if needed.", "created": "2019-11-08T11:41:00.000000"}], "components": [], "created": "2017-03-10T11:33:00.000000", "creator": "557058:22d0f8be-5a48-45ef-8078-6e91e5c34720", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3bbf33a6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzchmf:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/May/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_84067699230_*|*_6_*:*_1_*:*_0"}], "description": "We've hit bugs a few times by failing to lock the websocket connection when sending messages. Since this should always happen, we should move that into send-message so we don't repeat the mistake. However, this also means that the metrics timers will start counting the locking in addition to the send + logging. We should make sure we're comfortable with that, and if so, move the metrics tracking stuff into send-message as well.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31888", "fixedVersions": [], "id": "31888", "issueType": "Improvement", "key": "PCP-726", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:22d0f8be-5a48-45ef-8078-6e91e5c34720", "resolution": "Won't Do", "resolutionDate": "2019-11-08T11:41:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "move locking and metrics tracking into send-message", "timeSpent": "PT0S", "updated": "2019-11-08T11:41:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2017-03-09T15:19:00.000000", "creator": "557058:669d4655-0c85-469a-a11c-e5290cf2955d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@14c5adb3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyma13:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3004743591_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1035514265"}], "description": "https://testrail.ops.puppetlabs.net/index.php?/cases/view/99950\nhttps://testrail.ops.puppetlabs.net/index.php?/cases/view/99840\nhttps://testrail.ops.puppetlabs.net/index.php?/cases/view/99824\nhttps://testrail.ops.puppetlabs.net/index.php?/cases/view/99837", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31614", "fixedVersions": [], "id": "31614", "issueType": "Task", "key": "PCP-724", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:669d4655-0c85-469a-a11c-e5290cf2955d", "resolution": "Won't Do", "resolutionDate": "2017-04-25T10:36:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Beaker tests: Agent Connection part 1", "timeSpent": "PT0S", "updated": "2017-04-25T10:36:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "body": "Moved to a later epic since this isn't considered a \"Phase 1 blocker\" issue.", "created": "2017-03-08T15:12:00.000000"}, {"author": "557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8", "body": "Closing because not currently a priority.  Feel free to reopen if needed.", "created": "2019-11-07T13:33:00.000000"}], "components": [], "created": "2017-03-08T14:36:00.000000", "creator": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "At least one Puppet spec test pipeline includes a Japanese Windows Server test target and is passing CI."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@58d38f3e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PUP-6720"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hymarr:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "30/Mar/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1885284742_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_82263814759_*|*_10005_*:*_1_*:*_760495"}], "description": "There are currently no static spec boxes that pxp-agent can run against in CI.next with Japanese Windows.\n\nThe following pipeline should be updated to include testing against Japanese Windows.  Unfortunately due to the design of the pipelines, packaging and testing are a single step.  So to do this in the current pipeline structure would require adding another 45+ minute job to build Facter on Japanese Windows, which kicks off the tests:\n\n* Project pxp-agent (master) Component Pipeline Step 3 -- Integration Packaging - https://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent%20components/view/pxp-agent/job/platform_pxp-agent_pkg-van-ship_master/\n\nThis is pretty undesirable and suggests that the pipeline should be refactored to first build, then test, in independent steps.  A ticket should be filed to block this ticket on such an effort.", "epicLinkSummary": "Phase 1 Puppet Unicode Support For Non-English Development", "estimate": "PT0S", "externalId": "31974", "fixedVersions": [], "id": "31974", "issueType": "Task", "key": "PCP-721", "labels": ["i18n", "utf-8"], "originalEstimate": "PT0S", "parent": "23872", "parentSummary": "Phase 1 Puppet Unicode Support For Non-English Development", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "resolution": "Won't Do", "resolutionDate": "2019-11-07T13:33:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add Japanese Windows to pxp-agent spec testing matrices", "timeSpent": "PT0S", "updated": "2019-11-07T13:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6361cbfc59c794184bcbd33a", "attachments": [], "comments": [{"author": "6361cbfc59c794184bcbd33a", "body": "This seems to be happening because of https://bugs.eclipse.org/bugs/show_bug.cgi?id=454934, which was fixed _just after_ the version of jetty we use was released.\n\nI tried upgrading our websocket client library to the next version and that seems to fix the issue.\n\nThat means that PE-20103 should address this issue. We could also try to just upgrade the websocket client to a slightly newer version, but that seems potentially risky.", "created": "2017-04-05T16:44:00.000000"}, {"author": "557058:315adc9a-49dc-4753-86d1-4536fc30e3f3", "body": "This should be resolved with PCP-741.", "created": "2017-04-25T10:35:00.000000"}], "components": [], "created": "2017-03-08T13:01:00.000000", "creator": "557058:22d0f8be-5a48-45ef-8078-6e91e5c34720", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5d010029"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyma0n:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Fixed an issue where pcp-broker would stop attempting to reconnect to a controller."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Apr/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2425759462_*|*_3_*:*_1_*:*_1188815345_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_520130327_*|*_10006_*:*_1_*:*_5029012976"}], "description": "By standing up the orchestrator and connecting the PCP-broker, I can cause broker connection attempts to hang by repeatedly sending HUP to the orchestrator. The hang occurs due to a known issue in our version of the jetty-websocket-client library.\n\nhttps://bugs.eclipse.org/bugs/show_bug.cgi?id=454934", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32302", "fixedVersions": ["pcp-broker 1.3.3"], "id": "32302", "issueType": "Bug", "key": "PCP-720", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:22d0f8be-5a48-45ef-8078-6e91e5c34720", "resolution": "Fixed", "resolutionDate": "2017-06-22T15:30:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "jetty-websocket-client bug causes PCP broker to sometimes fail to reconnect to orchestrator", "timeSpent": "PT0S", "updated": "2017-06-23T11:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Note that the fix proposed only supports connecting with TLS v1.2. It would require extra work to continue to support 1.0 or 1.1, and those don't seem necessary as all pcp-brokers should support 1.2.", "created": "2017-03-13T17:03:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Merged and pipeline targets are stable.", "created": "2017-03-17T10:57:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] please provide release notes for this issue.", "created": "2017-03-22T07:33:00.000000"}], "components": ["cpp-pcp-client"], "created": "2017-03-06T18:11:00.000000", "creator": "6361cbfc59c794184bcbd33a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@f15f489"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzc0zz:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "pxp-agent now uses TLS v1.2 exclusively for establishing connections. It should remain backwards-compatible with all releases of pcp-broker."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Mar/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_351194520_*|*_1_*:*_1_*:*_329749_*|*_10007_*:*_1_*:*_569153040_*|*_3_*:*_1_*:*_126148_*|*_5_*:*_1_*:*_1718037945_*|*_6_*:*_1_*:*_0"}], "description": "Currently, pxp-agent is hardcoded to connect using TLSv1 specifically, without supporting connections using TLSv1.1 or TLSv1.2. As we want to disable TLSv1 (per PE-19243), this is a major impediment. We should instead connect using TLSv1.2.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31648", "fixedVersions": ["cpp-pcp-client 1.5.0"], "id": "31648", "issueType": "Bug", "key": "PCP-719", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "6361cbfc59c794184bcbd33a", "resolution": "Fixed", "resolutionDate": "2017-03-17T10:57:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent only supports connections over TLSv1 (not 1.1 or 1.2)", "timeSpent": "PT0S", "updated": "2017-04-06T08:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:5e2d4e96-5ea8-42e3-9179-a3afcdccef2f", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "We should probably make {{spool-dir-purge-ttl}} configurable in PE.", "created": "2017-03-14T10:43:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "In the longer run, this will be fixed by making the job id unique to a particular Orchestrator instance. This is something that'll be needed when multiple Orchestrators are in the picture.", "created": "2017-03-14T11:45:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This can be addressed by reconfiguring pxp-agents. Otherwise the behavior is intended. In the future Orchestrator will be improved to use less repeatable identifiers.", "created": "2017-03-21T17:08:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "That seems fine.", "created": "2018-09-19T12:11:00.000000"}], "components": ["pxp-agent"], "created": "2017-03-03T11:52:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@c844c90"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzcdqn:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Known Issue"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "If you point an existing agent at a new orchestrator instance\u2014for example, you move an agent to a new PE install\u2014the new orchestrator may reuse job IDs that are still in the pxp-agent's spool dir. In such cases, anytime you run a new job, the agent will report the status of a prior job rather than running a new job.\n\n1. To work around this issue, delete the contents of the pxp-agent's spool directory.\n\n   - On *nix agents, `/opt/puppetlabs/pxp-agent/spool`.\n   \n   - On Windows agents, `C:\\ProgramData\\PuppetLabs\\pxp-agent\\var\\spool`\n"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "23/Mar/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_946340012_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_624181865"}], "description": "If existing pxp-agent nodes are pointed at a new Orchestrator (setup without replication from the original to update the list of used job IDs), it will fail to run new jobs for up to 14 days because PCP-627 introduced checking for duplicate IDs even after a pxp-agent restart.\n\nIf pxp-agent is pointed at a new Orchestrator, it'll restart job IDs from 1. If pxp-agent has run a job recently (in the lifetime of spool directory cleanup, i.e. 14 days) with that ID, it will not run when requested and instead return the previous results. Previously restarting pxp-agent - as would happen when configuring it to point to a new broker - would prevent this.\n\nIt makes sense to document this edge-case, and reduce the spool expiration. We don't have any reason to keep job details on the agent after a job has finished except for debugging purposes, so 1 or 2 days would likely suffice.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31656", "fixedVersions": [], "id": "31656", "issueType": "Bug", "key": "PCP-718", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Won't Fix", "resolutionDate": "2017-03-21T17:08:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent pointed at new Orchestrator may fail to run jobs", "timeSpent": "PT0S", "updated": "2018-10-08T11:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I'll take another look, but this looks like a bug in Puppet (PUP-5473).", "created": "2017-03-03T11:40:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I wasn't able to reproduce this after several hours of runs. Out of ideas at the moment.", "created": "2017-03-03T15:51:00.000000"}, {"author": "557058:adac4e58-01ac-4fce-8be9-94131c26c73d", "body": "Is this still happening?", "created": "2017-09-12T18:37:00.000000"}, {"author": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "body": "https://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/5.3.x/view/Suite/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-5.3.x/SLAVE_LABEL=beaker,TEST_TARGET=windows2008r2-64a/22/\n\n[~accountid:557058:adac4e58-01ac-4fce-8be9-94131c26c73d] Yep.", "created": "2017-10-03T06:58:00.000000"}, {"author": "557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8", "body": "Closing because not currently a priority.  Feel free to reopen if needed.", "created": "2019-11-07T13:34:00.000000"}], "components": ["pxp-agent package"], "created": "2017-03-02T09:00:00.000000", "creator": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform puppet-agent"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7473a366"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hymm93:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Mar/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_95621819_*|*_3_*:*_1_*:*_6372003_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_84586460119"}], "description": "The pxp-agent acceptance test `service_stop_start` failed during puppet-agent nightlies. The test failed to start the pxp-agent service with the following error.\n\n{code}\n  reesps1xuxocfxs.delivery.puppetlabs.net (windows2008r2-6432-1) 11:04:15$ cmd.exe /c puppet resource service pxp-agent \n    service { 'pxp-agent':\n      ensure => 'stopped',\n      enable => 'true',\n    }\n  \n  reesps1xuxocfxs.delivery.puppetlabs.net (windows2008r2-6432-1) executed in 2.65 seconds\n  \n  reesps1xuxocfxs.delivery.puppetlabs.net (windows2008r2-6432-1) 11:04:17$ cmd.exe /c puppet resource service pxp-agent ensure=running\n    Error: Cannot start pxp-agent, error was: Execution of 'C:/Windows/system32/net.exe start pxp-agent' returned 2: The Puppet PXP Agent service is starting........\n    The Puppet PXP Agent service could not be started.\n    \n    More help is available by typing NET HELPMSG 3523.\n    Wrapped exception:\n    Execution of 'C:/Windows/system32/net.exe start pxp-agent' returned 2: The Puppet PXP Agent service is starting........\n    The Puppet PXP Agent service could not be started.\n    \n    More help is available by typing NET HELPMSG 3523.\n    Error: /Service[pxp-agent]/ensure: change from stopped to running failed: Cannot start pxp-agent, error was: Execution of 'C:/Windows/system32/net.exe start pxp-agent' returned 2: The Puppet PXP Agent service is starting........\n    The Puppet PXP Agent service could not be started.\n    \n    More help is available by typing NET HELPMSG 3523.\n    service { 'pxp-agent':\n      ensure => 'stopped',\n    }\n  \n  reesps1xuxocfxs.delivery.puppetlabs.net (windows2008r2-6432-1) executed in 27.27 seconds\n  \n  reesps1xuxocfxs.delivery.puppetlabs.net (windows2008r2-6432-1) 11:04:45$ cmd.exe /c puppet resource service pxp-agent \n    service { 'pxp-agent':\n      ensure => 'stopped',\n      enable => 'true',\n    }\n  \n  reesps1xuxocfxs.delivery.puppetlabs.net (windows2008r2-6432-1) executed in 2.49 seconds\n  Minitest::Assertion: pxp-agent not in expected running state.\n  Expected /ensure => .running.,/ to match \"service { 'pxp-agent':\\n  ensure => 'stopped',\\n  enable => 'true',\\n}\\n\".\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-6432a/pxp_agent/acceptance/tests/service_stop_start.rb:47\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-6432a/pxp_agent/acceptance/tests/service_stop_start.rb:46\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-6432a/pxp_agent/acceptance/tests/service_stop_start.rb:61\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-6432a/pxp_agent/acceptance/tests/service_stop_start.rb:57\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-6432a/pxp_agent/acceptance/tests/service_stop_start.rb:52\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-6432a/pxp_agent/acceptance/tests/service_stop_start.rb:52\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-6432a/pxp_agent/acceptance/tests/service_stop_start.rb:52\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-6432a/pxp_agent/acceptance/.bundle/gems/ruby/2.3.0/gems/beaker-3.12.0/bin/beaker:9\n{code}\n\n[Joblink|https://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/stable/view/puppet-agent/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL=beaker,TEST_TARGET=windows2008r2-6432a/23/]", "environment": "TEST_TARGET=windows2008r2-64a\nSUITE_COMMIT=690aa2c0b6cac5edd22850eea860171b23d9a003\nSUITE=VERSION=1.9.2.17.g690aa2c", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31973", "fixedVersions": [], "id": "31973", "issueType": "CI Blocker", "key": "PCP-717", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "resolution": "Won't Do", "resolutionDate": "2019-11-07T13:34:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent (stable) service_stop_start test failure (windows2008r2)", "timeSpent": "PT0S", "updated": "2019-11-07T13:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Having trouble reproducing this. I think we need to finish archiving logs on pxp-agent acceptance, which I started at https://github.com/puppetlabs/pxp-agent/pull/557. Unfortunately many tests wipe out logs, so I'm going to need to rework a number of tests to be able to do this.", "created": "2017-03-03T16:11:00.000000"}, {"author": "557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8", "body": "Closing due to lack of activity in 2+years.  Feel free to reopen if needed.", "created": "2019-11-08T11:41:00.000000"}], "components": ["pxp-agent package"], "created": "2017-03-02T08:50:00.000000", "creator": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform puppet-agent"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3140dbc5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzbh3j:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Mar/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_102559862_*|*_3_*:*_1_*:*_15594539_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_84650535342"}], "description": "The pxp-agent acceptance test `invalid_ssl_config` failed during puppet-agent nightlies. The test failed to start the pxp-agent service with the following error.\n\n{code}\n  * Start pxp-agent and assert that it does not connect to pcp-broker\n  \n  mb2rqmemsfgfujn.delivery.puppetlabs.net (redhat7-64-2) 07:18:40$ puppet resource service pxp-agent ensure=running\n    Notice: /Service[pxp-agent]/ensure: ensure changed 'stopped' to 'running'\n    service { 'pxp-agent':\n      ensure => 'running',\n    }\n  \n  mb2rqmemsfgfujn.delivery.puppetlabs.net (redhat7-64-2) executed in 1.21 seconds\n  RuntimeError: Didn't receive a response for PCP inventory request in 60 seconds\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/redhat7-64a/pxp_agent/acceptance/tests/invalid_ssl_config.rb:109\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/redhat7-64a/pxp_agent/acceptance/tests/invalid_ssl_config.rb:108\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/redhat7-64a/pxp_agent/acceptance/tests/invalid_ssl_config.rb:95\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/redhat7-64a/pxp_agent/acceptance/tests/invalid_ssl_config.rb:16\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/redhat7-64a/pxp_agent/acceptance/tests/invalid_ssl_config.rb:16\n  /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/redhat7-64a/pxp_agent/acceptance/.bundle/gems/ruby/2.3.0/gems/beaker-3.12.0/bin/beaker:9\n{code}\n\n[Joblink|https://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/master/view/puppet-agent/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/28/SLAVE_LABEL=beaker,TEST_TARGET=redhat7-64a/]", "environment": "TEST_TARGET=redhat7-64a\nSUITE_COMMIT=6d7e25e2410ac02bc351ed4da947fd1299040aca\nSUITE_VERSION=1.9.2.101.g6d7e25e", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31887", "fixedVersions": [], "id": "31887", "issueType": "CI Blocker", "key": "PCP-716", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "resolution": "Won't Do", "resolutionDate": "2019-11-08T11:41:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent (master) invalid_ssl_config test failure (rhel 7)", "timeSpent": "PT0S", "updated": "2019-11-08T11:41:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Unable to figure out what failed. I tried HUPing the broker for awhile, didn't halt the agent from retrying.", "created": "2017-03-10T19:02:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I've managed to reproduce this in a large scale environment. Added https://github.com/puppetlabs/cpp-pcp-client/pull/217 to try to get more info when it happens.\n\nThe log currently is\n{code}\n2017-03-23 16:03:52.524733 DEBUG puppetlabs.cpp_pcp_client.connector:222 - Sending heartbeat ping\n2017-03-23 16:03:52.528149 INFO  puppetlabs.cpp_pcp_client.connector:265 - Stopping the monitor task\n2017-03-23 16:03:52.534427 INFO  puppetlabs.cpp_pcp_client.connector:48 - Resetting the WebSocket event callbacks\n2017-03-23 16:03:52.535357 ERROR puppetlabs.cpp_pcp_client.connector:59 - Error previously caught by the Monitor Thread: std::exception\n2017-03-23 16:03:52.535438 DEBUG puppetlabs.cpp_pcp_client.connection:293 - About to close the WebSocket connection\n2017-03-23 16:03:52.535577 WARN  puppetlabs.cpp_pcp_client.connection:328 - Cleanup failure: failed to close WebSocket connection: invalid state\n2017-03-23 16:03:52.766120 DEBUG puppetlabs.cpp_pcp_client.connection:510 - WebSocket on close event (nromal) - connection timings: TCP 7435 us, WS handshake 128994 us, overall 137205 us\n2017-03-23 16:03:52.766198 DEBUG puppetlabs.cpp_pcp_client.connection:518 - WebSocket on close event - Closing Handshake 230531 us\n2017-03-23 16:03:52.769523 ERROR puppetlabs.pxp_agent.main:82 - Unexpected error: std::exception\n{code}", "created": "2017-03-23T11:08:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Got more detail from the extra logging\n{code}\n2017-03-30 22:48:07.634433 WARN  puppetlabs.cpp_pcp_client.connector:270 - The connection monitor task encountered an unknown exception: failed to send WebSocket ping: invalid state\n{code}\n\nThis suggests ping was sent while the connection was closed, triggering a {{connection_processing_error}}. I believe we should catch and continue after these errors. They happen when a failure occurs during a websocket operation", "created": "2017-03-30T16:57:00.000000"}, {"author": "557058:6e79b811-3a3e-4713-9f4e-ef17b127b24f", "body": "Do we know what version of Puppet (and by extension, PE) this fix ended up in?", "created": "2017-05-08T18:02:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "It will be in puppet-agent 1.10.1, which is going out in PE 2017.2 and 2016.4.4.", "created": "2017-05-08T18:05:00.000000"}], "components": ["cpp-pcp-client"], "created": "2017-02-28T18:25:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@66c3d987"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyma7r:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "A bug where attempting to send messages as the connection was shutdown would cause an exception that halted pxp-agent has been fixed. It will now continue running and attempt to reconnect after such exceptions."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/May/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_6090242_*|*_1_*:*_1_*:*_860453380_*|*_10007_*:*_1_*:*_515976178_*|*_3_*:*_1_*:*_5753581_*|*_4_*:*_1_*:*_626110743_*|*_5_*:*_1_*:*_3074574574_*|*_6_*:*_2_*:*_1090974255"}], "description": "PCP-463 fixed an issue where an exception in the monitoring thread would cause the process to terminate. However, the connection can still shutdown. We should ensure the agent instead logs the exception and tries to reconnect.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32301", "fixedVersions": ["cpp-pcp-client 1.5.1"], "id": "32301", "issueType": "Bug", "key": "PCP-715", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-04-05T18:01:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent shuts down if exception thrown in the monitor thread", "timeSpent": "PT0S", "updated": "2017-05-11T08:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2017-02-28T15:59:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5e3378bd"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzc7u7:"}], "description": "Closing the connection in the on-connect callback - which we do when authorization for association rejects the connection - sometimes results in the client getting a 1006 response, meaning the connection was not closed cleanly. https://github.com/puppetlabs/pcp-broker/pull/171 works around this issue in testing.\n\nWe could try to improve this by peeling some of the abstraction from trapperkeeper jetty around websocket handling upgrade requests at https://github.com/puppetlabs/trapperkeeper-webserver-jetty9/blob/1.7.0/src/puppetlabs/trapperkeeper/services/webserver/experimental/jetty9_websockets.clj#L119-L123. It would make sense to handle rejection there, in the upgrade request.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31972", "fixedVersions": [], "id": "31972", "issueType": "Bug", "key": "PCP-714", "labels": ["ci", "maintenance"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Closing connection in on-connect callback sometimes causes 1006 on client", "timeSpent": "PT0S", "updated": "2017-03-06T11:44:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["clj-pcp-client"], "created": "2017-02-22T17:36:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@46aa0e51"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzb3j3:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_16723_*|*_10007_*:*_1_*:*_507800368_*|*_5_*:*_1_*:*_5122_*|*_6_*:*_1_*:*_0"}], "description": "Add an on-close callback, invoked whenever the websocket connection is lost.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32070", "fixedVersions": ["clj-pcp-client 1.1.0"], "id": "32070", "issueType": "New Feature", "key": "PCP-713", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Done", "resolutionDate": "2017-02-28T14:40:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add on-close callback for feedback when connection is lost", "timeSpent": "PT0S", "updated": "2017-02-28T14:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pcp-broker"], "created": "2017-02-22T17:15:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Test introduced in https://github.com/puppetlabs/pcp-broker/pull/168 is fixed to verify that no subscription updates are sent after the controller disconnects/reconnects."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1cf8cfa9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzc0in:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_2990905_*|*_1_*:*_1_*:*_2374051_*|*_10007_*:*_1_*:*_508489813_*|*_3_*:*_1_*:*_198049_*|*_5_*:*_1_*:*_0"}], "description": "When an out-bound controller connection disconnects, it's not removed from subscriptions. The subscription thread will continue trying to send messages (and logging failures), and will resume sending updates when the connection is re-established. This behavior is unintended and undesirable.\n\nWe should ensure subscriptions are removed when the connection disconnects. That may imply being able to register an on-close callback in clj-pcp-client.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31542", "fixedVersions": ["pcp-broker 1.1.0"], "id": "31542", "issueType": "Bug", "key": "PCP-712", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-02-28T16:02:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Out-bound controller connections not removed from subscriptions when disconnected", "timeSpent": "PT0S", "updated": "2017-02-28T16:02:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:e2510a0a-1767-444f-be52-bae9bb15d3f6", "attachments": [], "comments": [], "components": [], "created": "2017-02-22T16:16:00.000000", "creator": "557058:e2510a0a-1767-444f-be52-bae9bb15d3f6", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Acceptance tests all use the new Solaris LDoms"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4383216c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Contact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker", "value": "557058:89341248-d23e-4b19-a2b6-66b9bb55eb83"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "No Action"}, {"fieldName": "QA Risk Assessment Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "We are changing solaris hardware used by CI"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzc0gn:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_189002786_*|*_1_*:*_1_*:*_167468999_*|*_10007_*:*_1_*:*_328957800_*|*_5_*:*_1_*:*_2996721129_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_362484"}], "description": "We have new SPARC hardware in place and ready to use. We need to update all of the repos (puppet, facter, hiera & pxp-agent) to use the new LDoms. Initially, we will simply update the existing node config files to point to one of the LDoms on the new controller (opdx-a0-sun2.ops.puppetlabs.net). Once we get some kind of API in place, we will switch to that.", "environment": "Puppet Agent CI pipeline", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31541", "fixedVersions": ["pxp-agent 1.5.0"], "id": "31541", "issueType": "Task", "key": "PCP-711", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:e2510a0a-1767-444f-be52-bae9bb15d3f6", "resolution": "Fixed", "resolutionDate": "2017-04-06T08:11:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Acceptance: Switch to new SPARC hardware", "timeSpent": "PT0S", "updated": "2017-04-06T08:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Seems reasonable.", "created": "2017-02-22T10:16:00.000000"}, {"author": "557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8", "body": "Closing due to lack of activity in 2+years.  Feel free to reopen if needed.", "created": "2019-11-08T11:41:00.000000"}], "components": ["pxp-agent package", "QA"], "created": "2017-02-21T05:30:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7701dd1d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzbykf:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/Feb/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_103558751_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_85454710227"}], "description": "A number of pxp-agent acceptance tests rely on having Puppet spawn sleep using an exec resource; to intentionally have a pxp transaction kept in a running state. When the test is ready for the transaction to continue; we grep the process list to determine the sleep pid then send a kill command.\n\nThis _works_ but we need to maintain beaker commands for finding and killing sleep that will work for every platform we support (and are a risk for adding newly supported platforms). It also burdens us with needing to write tests that are very sensitive on timing (e.g. it might take multiple seconds for Puppet to invoke and the sleep process to appear)\n\nOne possibly better approach from a different repo's tests is to have Puppet code that will stall while waiting for a condition (a file to exist)\n\ne.g.\n\n{code}Puppet::Type.type(:testsql).provide(:test_file) do\n\n  # looks for the unblocking_file until the timeout completes\n  # if not found before timeout create method is called, raising an error\n  def exists?\n    start_time = Time.now\n    timeout = resource[:blocking_timeout].to_i\n    while (Time.now - start_time).to_i < timeout\n      return true if File.file?(resource[:unblocking_file])\n      sleep 1\n    end\n    return false\n  end\n\n  def create\n    raise Puppet::Error, 'The test_file provider timed out'\n  end\nend{code}\n\nThe test case signals the Puppet run to complete by creating the _unblocking_file_ file on the SUT.\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32264", "fixedVersions": [], "id": "32264", "issueType": "Task", "key": "PCP-710", "labels": ["maintenance", "puppethack", "trivial"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Won't Do", "resolutionDate": "2019-11-08T11:41:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent acceptance - improve on reliance on sleep processes", "timeSpent": "PT0S", "updated": "2019-11-08T11:41:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "body": "Since we migrated AIX acceptance to the CI.Next master, it looks like this may not be needed after all. ", "created": "2017-02-12T14:24:00.000000"}], "components": [], "created": "2017-02-07T21:49:00.000000", "creator": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@70d9687"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-548"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzbt3b:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_405258847_*|*_6_*:*_1_*:*_0"}], "description": "Because AIX is not a vmpooler platform, AIX 7.2 acceptance testing requires a new static node config.", "epicLinkSummary": "Add AIX 7.2 as a supported agent platform", "estimate": "PT0S", "externalId": "31725", "fixedVersions": [], "id": "31725", "issueType": "Task", "key": "PCP-708", "labels": [], "originalEstimate": "PT0S", "parent": "55957", "parentSummary": "Add AIX 7.2 as a supported agent platform", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "resolution": "Won't Do", "resolutionDate": "2017-02-12T14:24:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Acceptance: Add static node config for AIX 7.2 testing", "timeSpent": "PT0S", "updated": "2017-02-12T14:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "attachments": [], "comments": [], "components": ["pcp-broker"], "created": "2017-02-07T14:41:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Improved clojure integration tests in pcp-broker."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@17ed89ad"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hymcdj:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_863411339_*|*_10007_*:*_1_*:*_396697830_*|*_3_*:*_1_*:*_19301314_*|*_5_*:*_1_*:*_0"}], "description": "Add additional integration tests for subscription updates. These should cover scenarios like:\n- multiple subscribers\n- creating a subscription while clients are connecting\n- remove a subscription while clients are connecting\n- ensure connect/disconnect/connect/disconnect is properly registered with subscriber\n- test subscriptions with \"large\" number of simultaneous connections (maybe 100 clients?)", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32263", "fixedVersions": ["pcp-broker 1.1.0"], "id": "32263", "issueType": "Improvement", "key": "PCP-707", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-02-22T10:05:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Concurrency tests for inventory subscriptions", "timeSpent": "PT0S", "updated": "2017-02-22T10:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:22d0f8be-5a48-45ef-8078-6e91e5c34720", "body": "The dispatch service has ended up relying on the timestamp of the last update received about a node to determine whether it has reconnected after disconnecting from a broker during an agent run. This optimization would require coordination with that code, because the dispatch service will now need to know whether a node has disconnected and reconnected within the update interval. We can still cancel when the number of changes is odd, or as long as we send some indication of disconnections/reconnections that resulted in no net changes.", "created": "2017-03-14T12:13:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "We also consider knowing about a disconnect/reconnect useful for monitoring the status of agent connections. If agents are disconnecting/reconnecting frequently, that represents a network issue that should be surfaced in Orchestrator status.", "created": "2017-03-14T12:15:00.000000"}], "components": ["pcp-broker"], "created": "2017-02-07T14:07:00.000000", "creator": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4c49a73f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzbss7:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Mar/17"}], "description": "Optimize the inventory updates sent by the pcp-broker by canceling out duplicate updates for the same client. In other words only send the most recent change for any given client in any given update.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32171", "fixedVersions": [], "id": "32171", "issueType": "Improvement", "key": "PCP-706", "labels": ["maintenance"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Optimize broker inventory updates", "timeSpent": "PT0S", "updated": "2017-03-14T12:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "created": "2017-03-17T12:17:00.000000", "name": "sut-files.tgz", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12343"}], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Working on a PR to grab logs. It's going to take extra work because right now tests are deleting logs from previous tests.", "created": "2017-02-07T14:34:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Failed today (2/21) again on [windows2016-64a|https://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/stable/view/puppet-agent/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/16/SLAVE_LABEL=beaker,TEST_TARGET=windows2016-64a/testReport/junit/(root)/tests/invalid_ssl_config_rb/] and [debian8-64a|https://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/stable/view/puppet-agent/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/16/SLAVE_LABEL=beaker,TEST_TARGET=debian8-64a/testReport/junit/(root)/tests/invalid_ssl_config_rb/].", "created": "2017-02-21T10:54:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Two more: [osx1012-64a|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-1.9.3-release/2/SLAVE_LABEL=beaker,TEST_TARGET=osx1012-64a/testReport/junit/(root)/tests/invalid_ssl_config_rb/] and [ubuntu1404-64a|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-1.9.3-release/2/SLAVE_LABEL=beaker,TEST_TARGET=ubuntu1404-64a/testReport/junit/(root)/tests/invalid_ssl_config_rb/].\n\nTwo other 60-second timeouts also occurred on this run, but in different tests, namely {{reconnect_after_broker_unavailable}} and {{pxp_agent_associate}}.", "created": "2017-03-06T14:28:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Got another one: https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/39/SLAVE_LABEL=beaker,TEST_TARGET=debian8-64a/testReport/junit/(root)/tests/invalid_ssl_config_rb/", "created": "2017-03-17T11:57:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Attached logs. Unfortunately, they don't really show anything useful. Time sync between pcp-broker and the Jenkins host was not great, so can't really line up specific operations.\n\nMy instinct says this is a bug in ruby-pcp-client or the test. I see no direct evidence of issues in pcp-broker. I think we'll need to add more debugging on the test side to identify precisely what's going on.", "created": "2017-03-17T12:18:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "One more: https://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/master/view/puppet-agent/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/51/SLAVE_LABEL=beaker,TEST_TARGET=redhat7-64a/testReport/junit/(root)/tests/invalid_ssl_config_rb/", "created": "2017-03-27T09:20:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This never seems to reproduce externally... I wonder if something happens on the Jenkins host. I've run the test 100+ times now with no failures.", "created": "2017-03-27T11:32:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This could be related to PCP-728.", "created": "2017-03-27T12:22:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I believe this has been fixed by some work on the acceptance test suite in PCP-750.", "created": "2017-10-23T12:55:00.000000"}], "components": [], "created": "2017-02-07T13:31:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@67e0335d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Method Found", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzbsqn:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "07/Feb/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_22285445706_*|*_6_*:*_1_*:*_0"}], "description": "Sometimes during a puppet-agent test run, pxp-agent's {{invalid_ssl_config}} test will time out with this error:\n\n{code}\nkzuba1tr9dhkbdc.delivery.puppetlabs.net (debian7-32-1) 19:23:11$ puppet resource service pxp-agent ensure=running\n    Notice: /Service[pxp-agent]/ensure: ensure changed 'stopped' to 'running'\n    service { 'pxp-agent':\n      ensure => 'running',\n    }\n  \n  kzuba1tr9dhkbdc.delivery.puppetlabs.net (debian7-32-1) executed in 1.20 seconds\n  RuntimeError: Didn't receive a response for PCP inventory request in 60 seconds\n{code}\n\nThis seems to happen on a variety of operating systems, most recently debian7-32a.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31647", "fixedVersions": [], "id": "31647", "issueType": "Bug", "key": "PCP-705", "labels": ["maintenance", "transient"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2017-10-23T12:55:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "invalid_ssl_config sometimes times out", "timeSpent": "PT0S", "updated": "2017-10-23T12:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "[~accountid:557058:093475a3-6bc8-4a70-8034-ae5a2ea66512] can you add a release note?", "created": "2017-02-09T13:20:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] was this fixed in pxp-agent 1.4.1 (which had the newer Leatherman)?", "created": "2017-03-02T08:57:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Yes.", "created": "2017-03-02T09:04:00.000000"}], "components": ["pxp-agent"], "created": "2017-02-07T09:18:00.000000", "creator": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@756de2cd"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hymcen:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "pxp-agent now uses fork() instead of vfork() to create child processes. This prevents a deadlock which could otherwise happen on at least Solaris."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Feb/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_58409580_*|*_1_*:*_1_*:*_6816716_*|*_10007_*:*_1_*:*_106133616_*|*_3_*:*_1_*:*_15928714_*|*_5_*:*_1_*:*_1802257228_*|*_6_*:*_1_*:*_0"}], "description": "pxp-agent uses leatherman::execution for executing child processes, but since it is a multi-threaded process, it doesn't play nicely with vfork() employed by the leatherman::execution for the actual child process creation. The reason is that vfork() is deadlock prone when used from a multithreaded process (at least on Solaris). To avoid this problem a new execution option - {{thread_safe}} - was added in LTH-126 to the leatherman::execution which makes it use the safer fork() for the child process creation.\nWe should use that option in pxp-agent to prevent deadlocks such as PCP-695.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31645", "fixedVersions": ["pxp-agent 1.4.1"], "id": "31645", "issueType": "Bug", "key": "PCP-704", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "resolution": "Fixed", "resolutionDate": "2017-02-09T13:19:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Use fork() in pxp-agent", "timeSpent": "PT0S", "updated": "2017-04-18T16:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:22d0f8be-5a48-45ef-8078-6e91e5c34720", "attachments": [], "comments": [], "components": ["clj-pcp-client", "pcp-broker"], "created": "2017-02-03T18:01:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@9d65ec2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hym89b:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "When using multiple brokers with Orchestrator, if a broker is unable to connect to Orchestrator it will reject client connections. After a grace period, it will disconnect all connected clients as well if the connection to Orchestrator has not been re-established. While disconnected from Orchestrator, it will report its state as \"error\"."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_36806537_*|*_1_*:*_1_*:*_1614188967_*|*_10007_*:*_2_*:*_140601069_*|*_3_*:*_1_*:*_603294968_*|*_5_*:*_2_*:*_11715669_*|*_10006_*:*_1_*:*_615811891_*|*_10005_*:*_1_*:*_2349156"}], "description": "pcp-broker should attempt to ensure that connectivity with clients is preserved through failures. Explicitly, that means Orchestrator should be able to reach nodes.\n\nIf a broker becomes disconnected from Orchestrator it should reject new client connections, and after a grace period should disconnect existing connections so they can attempt to connect to brokers that are still connected to Orchestrator.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32170", "fixedVersions": ["clj-pcp-client 1.1.1", "pcp-broker 1.2.0"], "id": "32170", "issueType": "Improvement", "key": "PCP-701", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Done", "resolutionDate": "2017-03-10T18:14:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Reject client connections if outgoing connection configured but not connected", "timeSpent": "PT0S", "updated": "2017-03-10T18:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "attachments": [], "comments": [], "components": [], "created": "2017-02-01T15:47:00.000000", "creator": "557058:22d0f8be-5a48-45ef-8078-6e91e5c34720", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@749a8884"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzbnkv:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_237020_*|*_1_*:*_1_*:*_86363737_*|*_10007_*:*_2_*:*_92825050_*|*_3_*:*_2_*:*_346953423_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_625823"}], "description": "*Sender in message is overridden on send*\n\nclj-pcp-client overrides sender when it is supplied:\nhttps://github.com/puppetlabs/clj-pcp-client/blob/master/src/puppetlabs/pcp/client.clj#L213\n\nThat line should be changed so identity is only associated when the sender key isn't present in the map already, to allow an entity to relay a message from another sender.\n\nThis doesn't affect the broker. The analogous piece of code is here:\nhttps://github.com/puppetlabs/pcp-broker/blob/master/src/puppetlabs/pcp/broker/core.clj#L420,L421\n\nand it's doing the right thing (associating the uri of the websocket client if sender isn't supplied).\n\n*Improve heartbeat management*\n\nHeartbeats are currently started via a separate call (which should be done after a connection is established) and continue through disconnects until the client is explicitly asked to close the connection. Continuing through disconnect results in pings piling up, to be sent when the connection is re-established.\n\nManaging the heartbeat thread should be an implementation detail of the client, and managed as part of the websocket connection lifecycle.\n\n*Support initialization from an SSLContext*\n\nThe client currently requires that SSL certificates are read from files. When running in a Jetty server, those files aren't available. Allow initializing from a java SSLContext object instead.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32169", "fixedVersions": ["clj-pcp-client 1.0.0"], "id": "32169", "issueType": "Improvement", "key": "PCP-700", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:22d0f8be-5a48-45ef-8078-6e91e5c34720", "resolution": "Done", "resolutionDate": "2017-02-07T18:10:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Support usage in pcp-broker", "timeSpent": "PT0S", "updated": "2017-02-07T18:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] has a spike of pxp-module-puppet for setting transaction_uuid this can be based on", "created": "2017-01-31T15:37:00.000000"}], "components": [], "created": "2017-01-31T15:36:00.000000", "creator": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7f04ced0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hym9wf:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "pxp-module-puppet now accepts job-id as an argument and passes it to Puppet."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_337567491_*|*_1_*:*_1_*:*_8448658119_*|*_5_*:*_1_*:*_3101691297_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_887737244"}], "description": "pxp-module puppet should accept a job-id argument and set job-id in the agent use the mechanism from PUP-7149", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31540", "fixedVersions": ["pxp-agent 1.6.0"], "id": "31540", "issueType": "New Feature", "key": "PCP-699", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "resolution": "Fixed", "resolutionDate": "2017-05-23T15:48:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-module-puppet should accept job-id argument", "timeSpent": "PT0S", "updated": "2017-06-28T13:23:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Similar to PCP-615 we probably want to allow 120 seconds instead of ~30\n\nChanges to this test should be checked on a few different platforms before merging\n\n", "created": "2017-01-31T03:39:00.000000"}, {"author": "557058:89341248-d23e-4b19-a2b6-66b9bb55eb83", "body": "I found out that we have some new Solaris hardware, but I'm not sure when its going to get installed and our tests converted over to it.\n\nWe might want to live with the these failures until we can switch to the new hardware which should be much faster and probably these issues will just go away.", "created": "2017-01-31T07:45:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "[~accountid:557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b] were you planning to put up a PR for this?", "created": "2017-01-31T10:23:00.000000"}, {"author": "557058:89341248-d23e-4b19-a2b6-66b9bb55eb83", "body": "I think most of the hardware pipelines are now switched over to the new solaris hardware, which is 6x faster. So this problem may have gone away. [~accountid:557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b] [~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e].", "created": "2017-03-06T15:37:00.000000"}], "components": ["pxp-agent package"], "created": "2017-01-30T12:52:00.000000", "creator": "557058:89341248-d23e-4b19-a2b6-66b9bb55eb83", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5302d0e3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzbkuv:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "31/Jan/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3034566783_*|*_6_*:*_1_*:*_0"}], "description": "The test tests/pxp-module-puppet.run_puppet_twice.rb needs to allow more time on the current Solaris 10 and Solaris 11 boxes. (They are very slow) and the 30 seconds your giving them likely isn't enough for the test to pass.\n\nJenkins log:\n\nhttps://jenkins.puppetlabs.com/view/puppet-agent/view/manual/view/master/job/platform_puppet-agent_intn-van-sys_suite-manual-pxp-agent-master/lastCompletedBuild/SLAVE_LABEL=beaker,TEST_TARGET=solaris-11-sparc/consoleFull\n\n{noformat}          * Wait until Puppet starts executing\n            \n            sol11a.delivery.puppetlabs.net (solaris-11-sparc) 00:35:21$ ps -ef | grep '/bin/sleep' | grep -v 'grep'\n              Trying command 120 times.\n            .            .            .            .            .            .            .            .            .            .            .            .            .            .            .            .            .            .            .            .            .            .            .            .            .            .            .            .            .            .            .            .            .            .            .            .            .            .            .            .            .            .            .            .            .            .            \n            sol11a.delivery.puppetlabs.net (solaris-11-sparc) 00:36:13$ ps -ef | grep '/bin/sleep' | grep -v 'grep' ostensibly successful.\n          \n          * Run Puppet on agents again\n            Received response from pcp://sol11a.delivery.puppetlabs.net/agent: {:envelope=>{:id=>\"d98e4fc1-fc3b-40be-b1d0-6f82a33ddafb\", :message_type=>\"http://puppetlabs.com/rpc_provisional_response\", :sender=>\"pcp://sol11a.delivery.puppetlabs.net/agent\", :targets=>[\"pcp://nyx/ruby-pcp-client-20887\"], :expires=>\"1970-01-01T00:00:00.000Z\"}, :data=>{\"transaction_id\"=>\"511c8300-066b-4d04-b5c8-b903d3aebc2d\"}}\n          \n          * Wait for only one puppet agent PID to exist\n            \n            sol11a.delivery.puppetlabs.net (solaris-11-sparc) 00:36:13$ ps -ef | grep 'puppet agent' | grep -v 'grep' | grep -v 'true' | sed 's/^[^0-9]*//g' | cut -d\\  -f1\n              1952\n            \n            sol11a.delivery.puppetlabs.net (solaris-11-sparc) executed in 0.09 seconds\n            \n            sol11a.delivery.puppetlabs.net (solaris-11-sparc) 00:36:14$ ps -ef | grep 'puppet agent' | grep -v 'grep' | grep -v 'true' | sed 's/^[^0-9]*//g' | cut -d\\  -f1\n              1952\n.....\n            sol11a.delivery.puppetlabs.net (solaris-11-sparc) executed in 0.09 seconds\n            \n            sol11a.delivery.puppetlabs.net (solaris-11-sparc) 00:36:46$ ps -ef | grep 'puppet agent' | grep -v 'grep' | grep -v 'true' | sed 's/^[^0-9]*//g' | cut -d\\  -f1\n              2227\n              1952\n            \n            sol11a.delivery.puppetlabs.net (solaris-11-sparc) executed in 0.08 seconds\n            RuntimeError: After 30 times checking, could not determine that the 2nd agent had stopped{noformat}\n\nThe Solaris sparc boxes are 1x to 20x slower (averaging round 5x slow time wise) to run the puppet tests.", "environment": "Solaris 10 and Solaris 11 Sparc", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31723", "fixedVersions": [], "id": "31723", "issueType": "CI Blocker", "key": "PCP-698", "labels": ["maintenance", "pxp_puppet-agent_ci"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:89341248-d23e-4b19-a2b6-66b9bb55eb83", "resolution": "Cannot Reproduce", "resolutionDate": "2017-03-06T15:48:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "CI Failure: tests/pxp-module-puppet.run_puppet_twice.rb needs more time on Solaris machines", "timeSpent": "PT0S", "updated": "2017-03-06T18:27:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2017-01-25T11:45:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@179ee3db"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzbtwf:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2934710250_*|*_6_*:*_1_*:*_0"}], "description": "In the case pxp-agent receives a request with the same transaction id but different arguments (identifiable from the metadata file), send an rpc_error_message.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32300", "fixedVersions": [], "id": "32300", "issueType": "Improvement", "key": "PCP-696", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Won't Fix", "resolutionDate": "2017-02-28T10:57:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Detect inconsistency in requests with same transaction", "timeSpent": "PT0S", "updated": "2017-02-28T10:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "I can reproduce the error (missing response for non blocking request) by repeatedly running tests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb\nThe test usually passes but occasionally (1 out of 5 maybe) will error.\n\nThe test says it fails because it's PCP client never got a response for the puppet run:\n{noformat}  * Make a non-blocking puppet run request on tlrgjztxvps7exb.delivery.puppetlabs.net\n    RuntimeError: Didn't receive all PCP responses when requesting pxp-module-puppet run on [\"pcp://tlrgjztxvps7exb.\ndelivery.puppetlabs.net/agent\"]. Responses received were: {}\n    /home/centos/code/pxp-agent/acceptance/lib/pxp-agent/test_helper.rb:341\n    /home/centos/code/pxp-agent/acceptance/lib/pxp-agent/test_helper.rb:339\n    /home/centos/code/pxp-agent/acceptance/lib/pxp-agent/test_helper.rb:339\n    /home/centos/code/pxp-agent/acceptance/lib/pxp-agent/test_helper.rb:346\n    /home/centos/code/pxp-agent/acceptance/lib/pxp-agent/test_helper.rb:281\n    /home/centos/code/pxp-agent/acceptance/tests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb:56\n{noformat}\n\nThe pxp-agent log suggests it did send a response:\n{noformat}2017-01-25 06:37:22.986080 INFO  puppetlabs.pxp_agent.main:202 - pxp-agent configuration has been validated\n2017-01-25 06:37:22.992835 INFO  puppetlabs.pxp_agent.util.daemonize:262 - Daemonization completed", "created": "2017-01-25T08:01:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "This might relate to PCP-657\n\nFrom looking at the Solaris host at the time of the fail", "created": "2017-01-25T12:26:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] I assume this should be targeted for pxp-agent 1.4.0, as a blocker for the puppet-agent 1.9.0 release? /cc [~accountid:557058:3bbf1c83-df0e-4372-887d-cfc38dee9330]", "created": "2017-01-25T13:13:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I'll spend some time on it later today.", "created": "2017-01-25T13:58:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "I believe we are hitting a deadlock which involves {{vfork()}} and a lookup of symbol through dynamic linker discussed here: http://www.oracle.com/technetwork/server-storage/solaris10/subprocess-136439.html\nI'll see if we can use {{posix_spawn()}} (instead of the {{vfork()}}) which doesn't have the problem.", "created": "2017-01-25T14:20:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "[~accountid:557058:093475a3-6bc8-4a70-8034-ae5a2ea66512] an alternative is to purge our execution implementation of anything that might call libc (malloc is part of that, so all the uses of {{std::string}} should go). Also all the {{write}} calls, so maybe we can only use errno? That's based on how posix_spawn is implemented on Solaris: https://java.net/projects/solaris/sources/on-src/content/usr/src/lib/libc/port/threads/spawn.c?rev=13149", "created": "2017-01-25T17:07:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "According to the http://www.oracle.com/technetwork/server-storage/solaris10/subprocess-136439.html, the {{exec()}} call alone (which we can't avoid) is enough to cause the deadlock.\nTwo safe solutions to the problem are proposed in the article:\n# using the {{posix_spawn()}}\n# creating a child process early on during the pxp-agent startup (before any threads are started) and using that process to spawn the external action processes in the standard {{fork()}} / {{exec()}} way\n\nI'd prefer option 2.", "created": "2017-01-26T05:58:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I'm pretty sure this isn't a new issue, but is more frequent due to incidental changes in LTH-120.", "created": "2017-01-26T08:56:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "We will include a release note for this in pxp-agent 1.4 (and puppet-agent 1.9) and endeavour to fix it for pxp-agent 1.4.1 (and puppet-agent 1.9.1).", "created": "2017-01-26T12:25:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "Actually, this is preventing us from getting a green CI run, so we'll need a fix for pxp-agent 1.4 in order to move forward. :(", "created": "2017-01-26T13:47:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I think we can fix this with LTH-125. Getting some final testing before releasing Leatherman and putting in a build. We should open another ticket to continue this investigation though, because I think my changes in Leatherman greatly reduce the chance of deadlock but I can't guarantee it's gone for good.", "created": "2017-01-26T15:08:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "The best solution we can come up with this is to use posix_spawn (with the various special arguments needed on different OS to make it behave like our current vfork-based implementation) with a custom child process to handle Solaris' contract releases. That's going to take some work, so I'll file a new ticket for it. In the meantime, LTH-125 seems like a good bet.", "created": "2017-01-26T16:32:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "Thanks, [~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e]. Should we perhaps resolve this issue or at least remove the 1.4.0 fix version, seeing as the fix is actually in Leatherman and not pxp-agent itself?", "created": "2017-01-27T07:34:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "This has been largely (but not completely) fixed as a result of LTH-125, such that CI is no longer blocked (most of the time). A more permanent fix will be made in response to LTH-126.", "created": "2017-01-27T11:42:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] is a release note needed here for the pxp-agent 1.4.0 (and puppet-agent 1.9.0) release?", "created": "2017-01-30T07:52:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Cannot reproduce in:\n\nSUITE_VERSION 1.8.3.494.g6f6ae4a\nSUITE_COMMIT 6f6ae4a2b84ee9e50a1103852f66a5e2fce326a0\n\nNote that this build is after LTH-125 was fixed but before LTH-126 is fixed.", "created": "2017-02-03T08:30:00.000000"}], "components": ["pxp-agent package"], "created": "2017-01-25T06:46:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform puppet-agent suite"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@23d48bdd"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzbgt3:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "A deadlock on Solaris when executing an action and restarting the pxp-agent process has been resolved."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Jan/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_36664911_*|*_3_*:*_1_*:*_153876545_*|*_5_*:*_1_*:*_502712558_*|*_6_*:*_1_*:*_0"}], "description": "Seen here on Solaris 11 Sparc:\nhttps://jenkins.puppetlabs.com/job/platform_puppet-agent_intn-van-sys_suite-manual-pxp-agent-master/SLAVE_LABEL=beaker,TEST_TARGET=solaris-11-sparc/42/console\n\n{noformat}17:16:29 Begin tests/pxp-module-puppet/run_puppet_killed_puppet.rb\n17:16:29 \n17:16:29 Run Puppet while a Puppet Agent run is in-progress, wait for it to be killed\n17:16:29   \n17:16:29   setnl1lffg9h1t2.delivery.puppetlabs.net (redhat7-64-1) 01:16:29$ mkdir -p /tmp/run_puppet_killed_puppet_za35to0y/manifests /tmp/run_puppet_killed_puppet_za35to0y/modules\n17:16:29   \n17:16:29   setnl1lffg9h1t2.delivery.puppetlabs.net (redhat7-64-1) executed in 0.01 seconds\n17:16:29   \n17:16:29   setnl1lffg9h1t2.delivery.puppetlabs.net (redhat7-64-1) 01:16:29$ ln -sf /tmp/run_puppet_killed_puppet_za35to0y /etc/puppetlabs/code/environments/run_puppet_killed_puppet_za35to0y\n17:16:29   \n17:16:29   setnl1lffg9h1t2.delivery.puppetlabs.net (redhat7-64-1) executed in 0.01 seconds\n17:16:29   \n17:16:29   * On master, create a new environment that will result in a slow run\n17:16:29     localhost $ scp /tmp/beaker20170125-3825-c52x5u redhat7-64-1:/etc/puppetlabs/code/environments/run_puppet_killed_puppet_za35to0y/manifests/site.pp {:ignore => }\n17:16:29     \n17:16:30     setnl1lffg9h1t2.delivery.puppetlabs.net (redhat7-64-1) 01:16:30$ chmod 644 /etc/puppetlabs/code/environments/run_puppet_killed_puppet_za35to0y/manifests/site.pp\n17:16:30     \n17:16:30     setnl1lffg9h1t2.delivery.puppetlabs.net (redhat7-64-1) executed in 0.01 seconds\n17:16:30   \n17:16:30   * Ensure each agent host has pxp-agent running and associated\n17:16:30     \n17:16:30     x4jxlb2q6p3gh5h.delivery.puppetlabs.net (solaris10-64-1) 01:16:30$ puppet resource service pxp-agent ensure=stopped\n17:16:30       Notice: /Service[pxp-agent]/ensure: ensure changed 'running' to 'stopped'\n17:16:32       service { 'pxp-agent':\n17:16:32         ensure => 'stopped',\n17:16:32       }\n17:16:32     \n17:16:32     x4jxlb2q6p3gh5h.delivery.puppetlabs.net (solaris10-64-1) executed in 1.93 seconds\n17:16:32     \n17:16:32     x4jxlb2q6p3gh5h.delivery.puppetlabs.net (solaris10-64-1) 01:16:32$ puppet config print ssldir\n17:16:32       /etc/puppetlabs/puppet/ssl\n17:16:33     \n17:16:33     x4jxlb2q6p3gh5h.delivery.puppetlabs.net (solaris10-64-1) executed in 1.33 seconds\n17:16:33     localhost $ scp /tmp/beaker20170125-3825-15tm6mw solaris10-64-1:/etc/puppetlabs/pxp-agent/pxp-agent.conf {:ignore => }\n17:16:33     \n17:16:33     x4jxlb2q6p3gh5h.delivery.puppetlabs.net (solaris10-64-1) 01:16:33$ puppet resource service pxp-agent ensure=running\n17:16:33       Notice: /Service[pxp-agent]/ensure: ensure changed 'stopped' to 'running'\n17:16:35       service { 'pxp-agent':\n17:16:35         ensure => 'running',\n17:16:35       }\n17:16:35     \n17:16:35     x4jxlb2q6p3gh5h.delivery.puppetlabs.net (solaris10-64-1) executed in 2.30 seconds\n17:16:35   \n17:16:37   * Start long-running Puppet agent jobs\n17:16:37     \n17:16:37     x4jxlb2q6p3gh5h.delivery.puppetlabs.net (solaris10-64-1) 01:16:37$ puppet agent --test --environment run_puppet_killed_puppet_za35to0y --server setnl1lffg9h1t2.delivery.puppetlabs.net </dev/null >/dev/null 2>&1 & echo $!\n17:16:37       1084\n17:16:37     \n17:16:37     x4jxlb2q6p3gh5h.delivery.puppetlabs.net (solaris10-64-1) executed in 0.04 seconds\n17:16:37   \n17:16:37   * Wait until Puppet starts executing\n17:16:37     \n17:16:37     x4jxlb2q6p3gh5h.delivery.puppetlabs.net (solaris10-64-1) 01:16:37$ ps -ef | grep '/bin/sleep' | grep -v 'grep'\n17:16:37       Trying command 120 times.\n17:16:37     .    .    .    .    .    \n17:16:41     x4jxlb2q6p3gh5h.delivery.puppetlabs.net (solaris10-64-1) 01:16:41$ ps -ef | grep '/bin/sleep' | grep -v 'grep' ostensibly successful.\n17:16:41   \n17:16:41   * Run Puppet on agents\n17:16:41     RuntimeError: Exception occured when trying to send rpc_non_blocking_request to all agents: Didn't receive all PCP responses when requesting pxp-module-puppet run on [\"pcp://x4jxlb2q6p3gh5h.delivery.puppetlabs.net/agent\"]. Responses received were: {}\n17:17:41     /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/solaris10-64a/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_killed_puppet.rb:54\n17:17:41     /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/solaris10-64a/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_killed_puppet.rb:53\n17:17:41     /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/solaris10-64a/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_killed_puppet.rb:9\n17:17:41     /tmp/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/solaris10-64a/pxp-agent/acceptance/.bundle/gems/ruby/2.3.0/gems/beaker-3.6.0/bin/beaker:6\n17:17:41     Begin teardown{noformat}\n\nAnd also here on solaris10-64a:\nhttps://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent%20suite%20pipelines/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL=beaker,TEST_TARGET=solaris10-64a/3/console\n\n{noformat}14:39:02 Begin tests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb\n14:39:02 \n14:39:02 C94705 - Run Puppet (non-blocking request) and restart pxp-agent service during run\n14:39:02   \n14:39:02   nidkux6mcvbqi4l.delivery.puppetlabs.net (master) 14:39:02$ mkdir -p /tmp/restart_pxp_agent_during_non_blocking_run_a8tmd1cv/manifests /tmp/restart_pxp_agent_during_non_blocking_run_a8tmd1cv/modules\n14:39:02   \n14:39:02   nidkux6mcvbqi4l.delivery.puppetlabs.net (master) executed in 0.02 seconds\n14:39:02   \n14:39:02   nidkux6mcvbqi4l.delivery.puppetlabs.net (master) 14:39:02$ puppet agent --configprint environmentpath\n14:39:02     /etc/puppetlabs/code/environments\n14:39:03   \n14:39:03   nidkux6mcvbqi4l.delivery.puppetlabs.net (master) executed in 0.88 seconds\n14:39:03   \n14:39:03   nidkux6mcvbqi4l.delivery.puppetlabs.net (master) 14:39:03$ ln -sf /tmp/restart_pxp_agent_during_non_blocking_run_a8tmd1cv /etc/puppetlabs/code/environments/restart_pxp_agent_during_non_blocking_run_a8tmd1cv\n14:39:03   \n14:39:03   nidkux6mcvbqi4l.delivery.puppetlabs.net (master) executed in 0.01 seconds\n14:39:03   \n14:39:03   * On master, create a new environment that will result in a slow run\n14:39:03     localhost $ scp /tmp/beaker20170123-31115-19py1lc master:/etc/puppetlabs/code/environments/restart_pxp_agent_during_non_blocking_run_a8tmd1cv/manifests/site.pp {:ignore => }\n14:39:03     \n14:39:03     nidkux6mcvbqi4l.delivery.puppetlabs.net (master) 14:39:03$ chmod 644 /etc/puppetlabs/code/environments/restart_pxp_agent_during_non_blocking_run_a8tmd1cv/manifests/site.pp\n14:39:03     \n14:39:03     nidkux6mcvbqi4l.delivery.puppetlabs.net (master) executed in 0.01 seconds\n14:39:03   \n14:39:03   * Ensure each agent host has pxp-agent running and associated\n14:39:03     \n14:39:03     sol11a.delivery.puppetlabs.net (solaris-11-sparc) 14:39:03$ puppet resource service pxp-agent ensure=stopped\n14:39:03       Notice: /Service[pxp-agent]/ensure: ensure changed 'running' to 'stopped'\n14:39:17       service { 'pxp-agent':\n14:39:17         ensure => 'stopped',\n14:39:17       }\n14:39:17     \n14:39:17     sol11a.delivery.puppetlabs.net (solaris-11-sparc) executed in 14.23 seconds\n14:39:17     \n14:39:17     sol11a.delivery.puppetlabs.net (solaris-11-sparc) 14:39:17$ puppet config print ssldir\n14:39:17       /etc/puppetlabs/puppet/ssl\n14:39:28     \n14:39:28     sol11a.delivery.puppetlabs.net (solaris-11-sparc) executed in 10.51 seconds\n14:39:28     localhost $ scp /tmp/beaker20170123-31115-1hsvo1h solaris-11-sparc:/etc/puppetlabs/pxp-agent/pxp-agent.conf {:ignore => }\n14:39:28     \n14:39:28     sol11a.delivery.puppetlabs.net (solaris-11-sparc) 14:39:28$ puppet resource service pxp-agent ensure=running enable=true\n14:39:28       Notice: /Service[pxp-agent]/ensure: ensure changed 'stopped' to 'running'\n14:39:45       service { 'pxp-agent':\n14:39:46         ensure => 'running',\n14:39:46         enable => 'true',\n14:39:46       }\n14:39:46     \n14:39:46     sol11a.delivery.puppetlabs.net (solaris-11-sparc) executed in 18.12 seconds\n14:39:46   \n14:39:54   * Make a non-blocking puppet run request on sol11a.delivery.puppetlabs.net\n14:39:54     RuntimeError: Didn't receive all PCP responses when requesting pxp-module-puppet run on [\"pcp://sol11a.delivery.puppetlabs.net/agent\"]. Responses received were: {}\n14:40:54     /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-manual-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/solaris-11-sparc/pxp-agent/acceptance/tests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb:62\n14:40:54     /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-manual-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/solaris-11-sparc/pxp-agent/acceptance/tests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb:61\n14:40:54     /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-manual-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/solaris-11-sparc/pxp-agent/acceptance/tests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb:58\n14:40:54     /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-manual-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/solaris-11-sparc/pxp-agent/acceptance/tests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb:58\n14:40:54     /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-manual-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/solaris-11-sparc/pxp-agent/acceptance/tests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb:9\n14:40:54     /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-manual-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/solaris-11-sparc/pxp-agent/acceptance/.bundle/gems/gems/beaker-3.6.0/bin/beaker:6\n14:40:54     Begin teardown{noformat}\n\nTwo different tests have failed here; but both are where a rpc_non_blocking_request is made and pcp-client receives no response from the Solaris agent.\n\nFor both instances; there is a subsequent problem where the test suite hangs when trying to stop the pxp-agent service in the next test case", "environment": "TEST_TARGET=solaris10-64a\nSUITE_VERSION=1.8.3.462.gbef6059\nSUITE_COMMIT=bef6059846ee2796338e167f1b41751a5adb4466", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32261", "fixedVersions": ["pxp-agent 1.4.0"], "id": "32261", "issueType": "CI Blocker", "key": "PCP-695", "labels": ["pxp_puppet-agent_ci"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Blocker", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2017-01-27T11:42:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent (master) acceptance failing on Solaris", "timeSpent": "PT0S", "updated": "2017-02-03T08:30:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "This issue has been fixed as a by-product of PCP-681 - by [this change|https://github.com/puppetlabs/pcp-broker/commit/ddb8dbaf346522d0f4d0b9cfdc474ca85d131425#diff-ea6951d0c7549e5dffcdc11b13bfaca0R86] in particular.", "created": "2017-06-19T13:38:00.000000"}], "components": ["pcp-broker"], "created": "2017-01-24T13:18:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Unit tests should pass with trace logging enabled and schema validation turned on (i.e. run test-all)."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@265bc38d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzd7an:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "19/Jun/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_8932_*|*_3_*:*_1_*:*_276154576_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_12335885658"}], "description": "When debug/trace logging is turned on for puppetlabs.pcp.broker, 5 integration tests fail when run with schema validation enabled. Observed in Travis CI.\n\n{code}\n72.88s$ lein with-profile test-schema-validation test\nRetrieving io/netty/netty/3.9.2.Final/netty-3.9.2.Final.jar from central\nRetrieving org/clojure/tools.nrepl/0.2.6/tools.nrepl-0.2.6.jar from central\n20:01:42,794 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]\n20:01:42,795 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback-test.xml] at [file:/home/travis/build/puppetlabs/pcp-broker/test-resources/logback-test.xml]\n20:01:42,857 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set\n20:01:42,868 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]\n20:01:42,872 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [STDOUT]\n20:01:42,878 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property\n20:01:42,920 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]\n20:01:42,920 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [PCP_ACCESS]\n20:01:42,920 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@9:15 - no applicable action for [file], current ElementPath  is [[configuration][appender][file]]\n20:01:42,921 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property\n20:01:42,922 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [PCP_ACCESS] to Logger[pcp_access]\n20:01:42,923 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to ERROR\n20:01:42,923 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [STDOUT] to Logger[ROOT]\n20:01:42,923 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [puppetlabs.pcp.client] to WARN\n20:01:42,923 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [puppetlabs.pcp.broker] to TRACE\n20:01:42,923 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [puppetlabs.pcp.broker.pcp_access] to ERROR\n20:01:42,923 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [puppetlabs.pcp.testutils] to WARN\n20:01:42,923 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.\n20:01:42,924 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@2e1f1d7e - Registering current configuration as safe fallback point\nlein test puppetlabs.pcp.broker.connection-test\nlein test puppetlabs.pcp.broker.core-test\n2017-01-24 20:01:52,418 TRACE [p.p.b.core] Processing PCP message from pcp://foo.com/agent: {:id \"f93bf3c4-1a9e-4c94-9e3a-33bd023b4fa2\", :message_type \"some_kinda_love\", :sender \"pcp://host_a/entity\", :target \"pcp://host_b/entity\"}\n2017-01-24 20:01:52,428 TRACE [p.p.b.core] Authorizing f93bf3c4-1a9e-4c94-9e3a-33bd023b4fa2 for pcp://host_b/entity - true: \n2017-01-24 20:01:52,435 TRACE [p.p.b.core] Processing PCP message from pcp://foo.com/agent: {:id \"f9e448fc-7988-454b-a836-0d836dc3faf8\", :message_type \"some_kinda_hate\", :sender \"pcp://popgroup/entity\", :target \"pcp://gangoffour/entity\"}\n2017-01-24 20:01:52,441 TRACE [p.p.b.core] Processing PCP message from pcp://foo.com/agent: {:id \"53dcb38a-007e-46ea-abfa-08c0e83b33a5\", :message_type \"sexbeat\", :sender \"pcp://thegunclub/entity\", :target \"pcp://fourtet/entity\"}\n2017-01-24 20:01:52,442 TRACE [p.p.b.core] Authorizing 53dcb38a-007e-46ea-abfa-08c0e83b33a5 for pcp://fourtet/entity - false: Danger Zone\n2017-01-24 20:01:52,447 TRACE [p.p.b.core] Processing PCP message from pcp://foo.com/agent: {:id \"66b7763f-7f7d-41b7-a96a-9f0dfe9e0dff\", :message_type \"jackonfire\", :sender \"pcp://thegunclub/entity\", :target \"pcp:///server\"}\n2017-01-24 20:01:52,448 TRACE [p.p.b.core] Authorizing 66b7763f-7f7d-41b7-a96a-9f0dfe9e0dff for pcp:///server - true: \n2017-01-24 20:01:52,452 TRACE [p.p.b.core] Processing PCP message from pcp://foo.com/agent: {:id \"8e774cd1-6036-4653-952a-7c8653a52acc\", :message_type \"ether\", :sender \"pcp://thegunclub/entity\", :target \"pcp://wire/*\"}\n2017-01-24 20:01:52,453 TRACE [p.p.b.core] Authorizing 8e774cd1-6036-4653-952a-7c8653a52acc for pcp://wire/* - true: \n2017-01-24 20:01:52,457 TRACE [p.p.b.core] Processing PCP message from pcp://foo.com/agent: {:id \"85ea55d4-6f0e-4ca0-8e46-6d0f255f6e88\", :message_type \"ether\", :sender \"pcp://gangoffour/entity\", :target \"pcp://wire/entity\"}\n2017-01-24 20:01:52,458 TRACE [p.p.b.core] Authorizing 85ea55d4-6f0e-4ca0-8e46-6d0f255f6e88 for pcp://wire/entity - true: \n2017-01-24 20:01:52,464 TRACE [p.p.b.core] Authorizing 84f081c4-f2e0-4018-8c18-6544a9da2e1d for pcp://example02.example.com/agent - true: \n2017-01-24 20:01:52,466 WARN  [p.p.b.core] Message 84f081c4-f2e0-4018-8c18-6544a9da2e1d for pcp://example02.example.com/agent didn't pass pre-authorization validation: Illegal message type: 'nogood'\n2017-01-24 20:01:52,469 WARN  [p.p.b.core] Message 84f081c4-f2e0-4018-8c18-6544a9da2e1d for pcp://bad/target didn't pass pre-authorization validation: Illegal message target: 'pcp://bad/target'\n2017-01-24 20:01:52,470 TRACE [p.p.b.core] Authorizing 84f081c4-f2e0-4018-8c18-6544a9da2e1d for pcp://example02.example.com/agent - false: Danger Zone\n2017-01-24 20:01:52,477 TRACE [p.p.b.core] Sending PCP message to pcp://foo.com/agent: {:id \"4b993121-651a-4d4a-90e0-91e3b5e47ee2\", :message_type \"http://puppetlabs.com/error_message\", :sender \"pcp:///server\", :data \"something wrong!\"}\n2017-01-24 20:01:52,480 TRACE [p.p.b.core] Sending PCP message to pcp://foo.com/agent: {:id \"ba30458d-56a7-44f7-95b2-e831de6bb681\", :message_type \"http://puppetlabs.com/error_message\", :sender \"pcp:///server\", :data \"something really wrong :o\", :in_reply_to \"aca4a992-44d6-40f6-9b9d-929040a77ae3\"}\nlein test :only puppetlabs.pcp.broker.core-test/handle-delivery-failure-test\nERROR in (handle-delivery-failure-test) (core.clj:115)\nUncaught exception, not in assertion.\nexpected: nil\n  actual: clojure.lang.ExceptionInfo: Output of summarize does not match schema: {:source (not (instance? java.lang.String nil)), :destination (throws? (uri? nil))}\n at puppetlabs.pcp.broker.core$eval25752$summarize__25757.invoke (core.clj:115)\n    puppetlabs.pcp.broker.core$eval25839$handle_delivery_failure__25844$fn__25845.invoke (core.clj:154)\n    puppetlabs.pcp.broker.core$eval25839$handle_delivery_failure__25844.invoke (core.clj:151)\n    puppetlabs.pcp.broker.core_test$fn__27103$fn__27106.invoke (core_test.clj:110)\n    clojure.core$with_redefs_fn.invokeStatic (core.clj:7216)\n    clojure.core$with_redefs_fn.invoke (core.clj:7200)\n    puppetlabs.pcp.broker.core_test$fn__27103.invokeStatic (core_test.clj:106)\n    puppetlabs.pcp.broker.core_test/fn (core_test.clj:102)\n    clojure.test$test_var$fn__7983.invoke (test.clj:716)\n    clojure.test$test_var.invokeStatic (test.clj:716)\n    clojure.test$test_var.invoke (test.clj:707)\n    clojure.test$test_vars$fn__8005$fn__8010.invoke (test.clj:734)\n    clojure.test$default_fixture.invokeStatic (test.clj:686)\n    clojure.test$default_fixture.invoke (test.clj:682)\n    clojure.test$test_vars$fn__8005.invoke (test.clj:734)\n    clojure.test$default_fixture.invokeStatic (test.clj:686)\n    clojure.test$default_fixture.invoke (test.clj:682)\n    clojure.test$test_vars.invokeStatic (test.clj:730)\n    clojure.test$test_all_vars.invokeStatic (test.clj:736)\n    clojure.test$test_ns.invokeStatic (test.clj:757)\n    clojure.test$test_ns.invoke (test.clj:742)\n    user$eval1748$fn__1799.invoke (form-init2154855213961604788.clj:1)\n    clojure.lang.AFn.applyToHelper (AFn.java:156)\n    clojure.lang.AFn.applyTo (AFn.java:144)\n    clojure.core$apply.invokeStatic (core.clj:648)\n    clojure.core$apply.invoke (core.clj:641)\n    leiningen.core.injected$compose_hooks$fn__1682.doInvoke (form-init2154855213961604788.clj:1)\n    clojure.lang.RestFn.applyTo (RestFn.java:137)\n    clojure.core$apply.invokeStatic (core.clj:646)\n    clojure.core$apply.invoke (core.clj:641)\n    leiningen.core.injected$run_hooks.invokeStatic (form-init2154855213961604788.clj:1)\n    leiningen.core.injected$run_hooks.invoke (form-init2154855213961604788.clj:1)\n    leiningen.core.injected$prepare_for_hooks$fn__1687$fn__1688.doInvoke (form-init2154855213961604788.clj:1)\n    clojure.lang.RestFn.applyTo (RestFn.java:137)\n    clojure.lang.AFunction$1.doInvoke (AFunction.java:29)\n    clojure.lang.RestFn.invoke (RestFn.java:408)\n    clojure.core$map$fn__4785.invoke (core.clj:2646)\n    clojure.lang.LazySeq.sval (LazySeq.java:40)\n    clojure.lang.LazySeq.seq (LazySeq.java:49)\n    clojure.lang.Cons.next (Cons.java:39)\n    clojure.lang.RT.boundedLength (RT.java:1749)\n    clojure.lang.RestFn.applyTo (RestFn.java:130)\n    clojure.core$apply.invokeStatic (core.clj:648)\n    clojure.test$run_tests.invokeStatic (test.clj:767)\n    clojure.test$run_tests.doInvoke (test.clj:767)\n    clojure.lang.RestFn.applyTo (RestFn.java:137)\n    clojure.core$apply.invokeStatic (core.clj:646)\n    clojure.core$apply.invoke (core.clj:641)\n    user$eval1748$fn__1811$fn__1842.invoke (form-init2154855213961604788.clj:1)\n    user$eval1748$fn__1811$fn__1812.invoke (form-init2154855213961604788.clj:1)\n    user$eval1748$fn__1811.invoke (form-init2154855213961604788.clj:1)\n    user$eval1748.invokeStatic (form-init2154855213961604788.clj:1)\n    user$eval1748.invoke (form-init2154855213961604788.clj:1)\n    clojure.lang.Compiler.eval (Compiler.java:6927)\n    clojure.lang.Compiler.eval (Compiler.java:6917)\n    clojure.lang.Compiler.load (Compiler.java:7379)\n    clojure.lang.Compiler.loadFile (Compiler.java:7317)\n    clojure.main$load_script.invokeStatic (main.clj:275)\n    clojure.main$init_opt.invokeStatic (main.clj:277)\n    clojure.main$init_opt.invoke (main.clj:277)\n    clojure.main$initialize.invokeStatic (main.clj:308)\n    clojure.main$null_opt.invokeStatic (main.clj:342)\n    clojure.main$null_opt.invoke (main.clj:339)\n    clojure.main$main.invokeStatic (main.clj:421)\n    clojure.main$main.doInvoke (main.clj:384)\n    clojure.lang.RestFn.invoke (RestFn.java:421)\n    clojure.lang.Var.invoke (Var.java:383)\n    clojure.lang.AFn.applyToHelper (AFn.java:156)\n    clojure.lang.Var.applyTo (Var.java:700)\n    clojure.main.main (main.java:37)\nlein test :only puppetlabs.pcp.broker.core-test/validate-message-test\nERROR in (validate-message-test) (core.clj:115)\ncorrectly marks not authorized messages\nexpected: (= :not-authorized (validate-message no-broker msg connection is-association-request))\n  actual: clojure.lang.ExceptionInfo: Output of summarize does not match schema: {:destination (throws? (uri? nil))}\n at puppetlabs.pcp.broker.core$eval25752$summarize__25757.invoke (core.clj:115)\n    puppetlabs.pcp.broker.core$eval26168$authorized_QMARK___26173$fn__26174.invoke (core.clj:357)\n    puppetlabs.pcp.broker.core$eval26168$authorized_QMARK___26173.invoke (core.clj:349)\n    puppetlabs.pcp.broker.core$eval26229$validate_message__26234$fn__26235.invoke (core.clj:390)\n    puppetlabs.pcp.broker.core$eval26229$validate_message__26234.invoke (core.clj:382)\n    puppetlabs.pcp.broker.core_test$fn__27247$fn__27248$fn__27253$fn__27254.invoke (core_test.clj:280)\n    puppetlabs.pcp.broker.core_test$fn__27247$fn__27248$fn__27253.invoke (core_test.clj:272)\n    clojure.core$with_redefs_fn.invokeStatic (core.clj:7216)\n    clojure.core$with_redefs_fn.invoke (core.clj:7200)\n    puppetlabs.pcp.broker.core_test$fn__27247$fn__27248.invoke (core_test.clj:271)\n    clojure.core$with_redefs_fn.invokeStatic (core.clj:7216)\n    clojure.core$with_redefs_fn.invoke (core.clj:7200)\n    puppetlabs.pcp.broker.core_test$fn__27247.invokeStatic (core_test.clj:260)\n    puppetlabs.pcp.broker.core_test/fn (core_test.clj:259)\n    clojure.test$test_var$fn__7983.invoke (test.clj:716)\n    clojure.test$test_var.invokeStatic (test.clj:716)\n    clojure.test$test_var.invoke (test.clj:707)\n    clojure.test$test_vars$fn__8005$fn__8010.invoke (test.clj:734)\n    clojure.test$default_fixture.invokeStatic (test.clj:686)\n    clojure.test$default_fixture.invoke (test.clj:682)\n    clojure.test$test_vars$fn__8005.invoke (test.clj:734)\n    clojure.test$default_fixture.invokeStatic (test.clj:686)\n    clojure.test$default_fixture.invoke (test.clj:682)\n    clojure.test$test_vars.invokeStatic (test.clj:730)\n    clojure.test$test_all_vars.invokeStatic (test.clj:736)\n    clojure.test$test_ns.invokeStatic (test.clj:757)\n    clojure.test$test_ns.invoke (test.clj:742)\n    user$eval1748$fn__1799.invoke (form-init2154855213961604788.clj:1)\n    clojure.lang.AFn.applyToHelper (AFn.java:156)\n    clojure.lang.AFn.applyTo (AFn.java:144)\n    clojure.core$apply.invokeStatic (core.clj:648)\n    clojure.core$apply.invoke (core.clj:641)\n    leiningen.core.injected$compose_hooks$fn__1682.doInvoke (form-init2154855213961604788.clj:1)\n    clojure.lang.RestFn.applyTo (RestFn.java:137)\n    clojure.core$apply.invokeStatic (core.clj:646)\n    clojure.core$apply.invoke (core.clj:641)\n    leiningen.core.injected$run_hooks.invokeStatic (form-init2154855213961604788.clj:1)\n    leiningen.core.injected$run_hooks.invoke (form-init2154855213961604788.clj:1)\n    leiningen.core.injected$prepare_for_hooks$fn__1687$fn__1688.doInvoke (form-init2154855213961604788.clj:1)\n    clojure.lang.RestFn.applyTo (RestFn.java:137)\n    clojure.lang.AFunction$1.doInvoke (AFunction.java:29)\n    clojure.lang.RestFn.invoke (RestFn.java:408)\n    clojure.core$map$fn__4785.invoke (core.clj:2646)\n    clojure.lang.LazySeq.sval (LazySeq.java:40)\n    clojure.lang.LazySeq.seq (LazySeq.java:49)\n    clojure.lang.Cons.next (Cons.java:39)\n    clojure.lang.RT.boundedLength (RT.java:1749)\n    clojure.lang.RestFn.applyTo (RestFn.java:130)\n    clojure.core$apply.invokeStatic (core.clj:648)\n    clojure.test$run_tests.invokeStatic (test.clj:767)\n    clojure.test$run_tests.doInvoke (test.clj:767)\n    clojure.lang.RestFn.applyTo (RestFn.java:137)\n    clojure.core$apply.invokeStatic (core.clj:646)\n    clojure.core$apply.invoke (core.clj:641)\n    user$eval1748$fn__1811$fn__1842.invoke (form-init2154855213961604788.clj:1)\n    user$eval1748$fn__1811$fn__1812.invoke (form-init2154855213961604788.clj:1)\n    user$eval1748$fn__1811.invoke (form-init2154855213961604788.clj:1)\n    user$eval1748.invokeStatic (form-init2154855213961604788.clj:1)\n    user$eval1748.invoke (form-init2154855213961604788.clj:1)\n    clojure.lang.Compiler.eval (Compiler.java:6927)\n    clojure.lang.Compiler.eval (Compiler.java:6917)\n    clojure.lang.Compiler.load (Compiler.java:7379)\n    clojure.lang.Compiler.loadFile (Compiler.java:7317)\n    clojure.main$load_script.invokeStatic (main.clj:275)\n    clojure.main$init_opt.invokeStatic (main.clj:277)\n    clojure.main$init_opt.invoke (main.clj:277)\n    clojure.main$initialize.invokeStatic (main.clj:308)\n    clojure.main$null_opt.invokeStatic (main.clj:342)\n    clojure.main$null_opt.invoke (main.clj:339)\n    clojure.main$main.invokeStatic (main.clj:421)\n    clojure.main$main.doInvoke (main.clj:384)\n    clojure.lang.RestFn.invoke (RestFn.java:421)\n    clojure.lang.Var.invoke (Var.java:383)\n    clojure.lang.AFn.applyToHelper (AFn.java:156)\n    clojure.lang.Var.applyTo (Var.java:700)\n    clojure.main.main (main.java:37)\nlein test :only puppetlabs.pcp.broker.core-test/validate-message-test\nERROR in (validate-message-test) (core.clj:115)\nmarks multicast messages as unsupported\nexpected: (= :multicast-unsupported (validate-message yes-broker msg connection is-association-request))\n  actual: clojure.lang.ExceptionInfo: Output of summarize does not match schema: {:destination (throws? (uri? nil))}\n at puppetlabs.pcp.broker.core$eval25752$summarize__25757.invoke (core.clj:115)\n    puppetlabs.pcp.broker.core$eval26168$authorized_QMARK___26173$fn__26174.invoke (core.clj:357)\n    puppetlabs.pcp.broker.core$eval26168$authorized_QMARK___26173.invoke (core.clj:349)\n    puppetlabs.pcp.broker.core$eval26229$validate_message__26234$fn__26235.invoke (core.clj:390)\n    puppetlabs.pcp.broker.core$eval26229$validate_message__26234.invoke (core.clj:382)\n    puppetlabs.pcp.broker.core_test$fn__27247$fn__27248$fn__27253$fn__27258$fn__27261.invoke (core_test.clj:291)\n    clojure.core$with_redefs_fn.invokeStatic (core.clj:7216)\n    clojure.core$with_redefs_fn.invoke (core.clj:7200)\n    puppetlabs.pcp.broker.core_test$fn__27247$fn__27248$fn__27253$fn__27258.invoke (core_test.clj:289)\n    puppetlabs.pcp.broker.core_test$fn__27247$fn__27248$fn__27253.invoke (core_test.clj:281)\n    clojure.core$with_redefs_fn.invokeStatic (core.clj:7216)\n    clojure.core$with_redefs_fn.invoke (core.clj:7200)\n    puppetlabs.pcp.broker.core_test$fn__27247$fn__27248.invoke (core_test.clj:271)\n    clojure.core$with_redefs_fn.invokeStatic (core.clj:7216)\n    clojure.core$with_redefs_fn.invoke (core.clj:7200)\n    puppetlabs.pcp.broker.core_test$fn__27247.invokeStatic (core_test.clj:260)\n    puppetlabs.pcp.broker.core_test/fn (core_test.clj:259)\n    clojure.test$test_var$fn__7983.invoke (test.clj:716)\n    clojure.test$test_var.invokeStatic (test.clj:716)\n    clojure.test$test_var.invoke (test.clj:707)\n    clojure.test$test_vars$fn__8005$fn__8010.invoke (test.clj:734)\n    clojure.test$default_fixture.invokeStatic (test.clj:686)\n    clojure.test$default_fixture.invoke (test.clj:682)\n    clojure.test$test_vars$fn__8005.invoke (test.clj:734)\n    clojure.test$default_fixture.invokeStatic (test.clj:686)\n    clojure.test$default_fixture.invoke (test.clj:682)\n    clojure.test$test_vars.invokeStatic (test.clj:730)\n    clojure.test$test_all_vars.invokeStatic (test.clj:736)\n    clojure.test$test_ns.invokeStatic (test.clj:757)\n    clojure.test$test_ns.invoke (test.clj:742)\n    user$eval1748$fn__1799.invoke (form-init2154855213961604788.clj:1)\n    clojure.lang.AFn.applyToHelper (AFn.java:156)\n    clojure.lang.AFn.applyTo (AFn.java:144)\n    clojure.core$apply.invokeStatic (core.clj:648)\n    clojure.core$apply.invoke (core.clj:641)\n    leiningen.core.injected$compose_hooks$fn__1682.doInvoke (form-init2154855213961604788.clj:1)\n    clojure.lang.RestFn.applyTo (RestFn.java:137)\n    clojure.core$apply.invokeStatic (core.clj:646)\n    clojure.core$apply.invoke (core.clj:641)\n    leiningen.core.injected$run_hooks.invokeStatic (form-init2154855213961604788.clj:1)\n    leiningen.core.injected$run_hooks.invoke (form-init2154855213961604788.clj:1)\n    leiningen.core.injected$prepare_for_hooks$fn__1687$fn__1688.doInvoke (form-init2154855213961604788.clj:1)\n    clojure.lang.RestFn.applyTo (RestFn.java:137)\n    clojure.lang.AFunction$1.doInvoke (AFunction.java:29)\n    clojure.lang.RestFn.invoke (RestFn.java:408)\n    clojure.core$map$fn__4785.invoke (core.clj:2646)\n    clojure.lang.LazySeq.sval (LazySeq.java:40)\n    clojure.lang.LazySeq.seq (LazySeq.java:49)\n    clojure.lang.Cons.next (Cons.java:39)\n    clojure.lang.RT.boundedLength (RT.java:1749)\n    clojure.lang.RestFn.applyTo (RestFn.java:130)\n    clojure.core$apply.invokeStatic (core.clj:648)\n    clojure.test$run_tests.invokeStatic (test.clj:767)\n    clojure.test$run_tests.doInvoke (test.clj:767)\n    clojure.lang.RestFn.applyTo (RestFn.java:137)\n    clojure.core$apply.invokeStatic (core.clj:646)\n    clojure.core$apply.invoke (core.clj:641)\n    user$eval1748$fn__1811$fn__1842.invoke (form-init2154855213961604788.clj:1)\n    user$eval1748$fn__1811$fn__1812.invoke (form-init2154855213961604788.clj:1)\n    user$eval1748$fn__1811.invoke (form-init2154855213961604788.clj:1)\n    user$eval1748.invokeStatic (form-init2154855213961604788.clj:1)\n    user$eval1748.invoke (form-init2154855213961604788.clj:1)\n    clojure.lang.Compiler.eval (Compiler.java:6927)\n    clojure.lang.Compiler.eval (Compiler.java:6917)\n    clojure.lang.Compiler.load (Compiler.java:7379)\n    clojure.lang.Compiler.loadFile (Compiler.java:7317)\n    clojure.main$load_script.invokeStatic (main.clj:275)\n    clojure.main$init_opt.invokeStatic (main.clj:277)\n    clojure.main$init_opt.invoke (main.clj:277)\n    clojure.main$initialize.invokeStatic (main.clj:308)\n    clojure.main$null_opt.invokeStatic (main.clj:342)\n    clojure.main$null_opt.invoke (main.clj:339)\n    clojure.main$main.invokeStatic (main.clj:421)\n    clojure.main$main.doInvoke (main.clj:384)\n    clojure.lang.RestFn.invoke (RestFn.java:421)\n    clojure.lang.Var.invoke (Var.java:383)\n    clojure.lang.AFn.applyToHelper (AFn.java:156)\n    clojure.lang.Var.applyTo (Var.java:700)\n    clojure.main.main (main.java:37)\nlein test :only puppetlabs.pcp.broker.core-test/validate-message-test\nERROR in (validate-message-test) (core.clj:115)\nmarks expired messages as to be processed\nexpected: (= :to-be-processed (validate-message yes-broker msg connection is-association-request))\n  actual: clojure.lang.ExceptionInfo: Output of summarize does not match schema: {:destination (throws? (uri? nil))}\n at puppetlabs.pcp.broker.core$eval25752$summarize__25757.invoke (core.clj:115)\n    puppetlabs.pcp.broker.core$eval26168$authorized_QMARK___26173$fn__26174.invoke (core.clj:357)\n    puppetlabs.pcp.broker.core$eval26168$authorized_QMARK___26173.invoke (core.clj:349)\n    puppetlabs.pcp.broker.core$eval26229$validate_message__26234$fn__26235.invoke (core.clj:390)\n    puppetlabs.pcp.broker.core$eval26229$validate_message__26234.invoke (core.clj:382)\n    puppetlabs.pcp.broker.core_test$fn__27247$fn__27248$fn__27253$fn__27266.invoke (core_test.clj:301)\n    puppetlabs.pcp.broker.core_test$fn__27247$fn__27248$fn__27253.invoke (core_test.clj:292)\n    clojure.core$with_redefs_fn.invokeStatic (core.clj:7216)\n    clojure.core$with_redefs_fn.invoke (core.clj:7200)\n    puppetlabs.pcp.broker.core_test$fn__27247$fn__27248.invoke (core_test.clj:271)\n    clojure.core$with_redefs_fn.invokeStatic (core.clj:7216)\n    clojure.core$with_redefs_fn.invoke (core.clj:7200)\n    puppetlabs.pcp.broker.core_test$fn__27247.invokeStatic (core_test.clj:260)\n    puppetlabs.pcp.broker.core_test/fn (core_test.clj:259)\n    clojure.test$test_var$fn__7983.invoke (test.clj:716)\n    clojure.test$test_var.invokeStatic (test.clj:716)\n    clojure.test$test_var.invoke (test.clj:707)\n    clojure.test$test_vars$fn__8005$fn__8010.invoke (test.clj:734)\n    clojure.test$default_fixture.invokeStatic (test.clj:686)\n    clojure.test$default_fixture.invoke (test.clj:682)\n    clojure.test$test_vars$fn__8005.invoke (test.clj:734)\n    clojure.test$default_fixture.invokeStatic (test.clj:686)\n    clojure.test$default_fixture.invoke (test.clj:682)\n    clojure.test$test_vars.invokeStatic (test.clj:730)\n    clojure.test$test_all_vars.invokeStatic (test.clj:736)\n    clojure.test$test_ns.invokeStatic (test.clj:757)\n    clojure.test$test_ns.invoke (test.clj:742)\n    user$eval1748$fn__1799.invoke (form-init2154855213961604788.clj:1)\n    clojure.lang.AFn.applyToHelper (AFn.java:156)\n    clojure.lang.AFn.applyTo (AFn.java:144)\n    clojure.core$apply.invokeStatic (core.clj:648)\n    clojure.core$apply.invoke (core.clj:641)\n    leiningen.core.injected$compose_hooks$fn__1682.doInvoke (form-init2154855213961604788.clj:1)\n    clojure.lang.RestFn.applyTo (RestFn.java:137)\n    clojure.core$apply.invokeStatic (core.clj:646)\n    clojure.core$apply.invoke (core.clj:641)\n    leiningen.core.injected$run_hooks.invokeStatic (form-init2154855213961604788.clj:1)\n    leiningen.core.injected$run_hooks.invoke (form-init2154855213961604788.clj:1)\n    leiningen.core.injected$prepare_for_hooks$fn__1687$fn__1688.doInvoke (form-init2154855213961604788.clj:1)\n    clojure.lang.RestFn.applyTo (RestFn.java:137)\n    clojure.lang.AFunction$1.doInvoke (AFunction.java:29)\n    clojure.lang.RestFn.invoke (RestFn.java:408)\n    clojure.core$map$fn__4785.invoke (core.clj:2646)\n    clojure.lang.LazySeq.sval (LazySeq.java:40)\n    clojure.lang.LazySeq.seq (LazySeq.java:49)\n    clojure.lang.Cons.next (Cons.java:39)\n    clojure.lang.RT.boundedLength (RT.java:1749)\n    clojure.lang.RestFn.applyTo (RestFn.java:130)\n    clojure.core$apply.invokeStatic (core.clj:648)\n    clojure.test$run_tests.invokeStatic (test.clj:767)\n    clojure.test$run_tests.doInvoke (test.clj:767)\n    clojure.lang.RestFn.applyTo (RestFn.java:137)\n    clojure.core$apply.invokeStatic (core.clj:646)\n    clojure.core$apply.invoke (core.clj:641)\n    user$eval1748$fn__1811$fn__1842.invoke (form-init2154855213961604788.clj:1)\n    user$eval1748$fn__1811$fn__1812.invoke (form-init2154855213961604788.clj:1)\n    user$eval1748$fn__1811.invoke (form-init2154855213961604788.clj:1)\n    user$eval1748.invokeStatic (form-init2154855213961604788.clj:1)\n    user$eval1748.invoke (form-init2154855213961604788.clj:1)\n    clojure.lang.Compiler.eval (Compiler.java:6927)\n    clojure.lang.Compiler.eval (Compiler.java:6917)\n    clojure.lang.Compiler.load (Compiler.java:7379)\n    clojure.lang.Compiler.loadFile (Compiler.java:7317)\n    clojure.main$load_script.invokeStatic (main.clj:275)\n    clojure.main$init_opt.invokeStatic (main.clj:277)\n    clojure.main$init_opt.invoke (main.clj:277)\n    clojure.main$initialize.invokeStatic (main.clj:308)\n    clojure.main$null_opt.invokeStatic (main.clj:342)\n    clojure.main$null_opt.invoke (main.clj:339)\n    clojure.main$main.invokeStatic (main.clj:421)\n    clojure.main$main.doInvoke (main.clj:384)\n    clojure.lang.RestFn.invoke (RestFn.java:421)\n    clojure.lang.Var.invoke (Var.java:383)\n    clojure.lang.AFn.applyToHelper (AFn.java:156)\n    clojure.lang.Var.applyTo (Var.java:700)\n    clojure.main.main (main.java:37)\nlein test :only puppetlabs.pcp.broker.core-test/validate-message-test\nERROR in (validate-message-test) (core.clj:115)\ncorrectly marks messages to be processed\nexpected: (= :to-be-processed (validate-message yes-broker msg connection is-association-request))\n2017-01-24 20:01:52,722 TRACE [p.p.b.core] Sending PCP message to pcp://localhost/controller: {:id \"84a6fda9-5073-4d88-830c-7ac7eeff544b\", :message_type \"http://puppetlabs.com/associate_response\", :target \"pcp://localhost/controller\", :in_reply_to \"1430c8cd-072e-477a-bfc6-4afbde5ccf3f\", :sender \"pcp:///server\", :data {:id \"1430c8cd-072e-477a-bfc6-4afbde5ccf3f\", :success true}}\n2017-01-24 20:01:52,795 TRACE [p.p.b.core] Processing PCP message from pcp://foo.com/agent: {:id \"90830f8a-1c85-4475-8380-67f497a0df87\", :message_type \"ether\", :sender \"pcp://gangoffour/entity\", :target \"pcp://gangoffour/entity\"}\n2017-01-24 20:01:52,796 TRACE [p.p.b.core] Authorizing 90830f8a-1c85-4475-8380-67f497a0df87 for pcp://gangoffour/entity - true: \n2017-01-24 20:01:52,798 DEBUG [p.p.b.core] Delivering 90830f8a-1c85-4475-8380-67f497a0df87 to pcp://gangoffour/entity at \n2017-01-24 20:01:52,799 TRACE [p.p.b.core] Sending PCP message to pcp://foo.com/agent: {:id \"90830f8a-1c85-4475-8380-67f497a0df87\", :message_type \"ether\", :sender \"pcp://gangoffour/entity\", :target \"pcp://gangoffour/entity\"}\n2017-01-24 20:01:52,823 TRACE [p.p.b.core] Processing PCP message from pcp://foo.com/agent: {:id \"710fa46c-9693-445c-a3b3-7813a972f458\", :message_type \"ether\", :sender \"pcp://gangoffour/entity\", :target \"pcp://gangoffour/entity\"}\n2017-01-24 20:01:52,824 TRACE [p.p.b.core] Authorizing 710fa46c-9693-445c-a3b3-7813a972f458 for pcp://gangoffour/entity - true: \n2017-01-24 20:01:52,825 DEBUG [p.p.b.core] Delivering 710fa46c-9693-445c-a3b3-7813a972f458 to pcp://gangoffour/entity at \n2017-01-24 20:01:52,826 TRACE [p.p.b.core] Sending PCP message to pcp://foo.com/agent: {:id \"710fa46c-9693-445c-a3b3-7813a972f458\", :message_type \"ether\", :sender \"pcp://gangoffour/entity\", :target \"pcp://gangoffour/entity\"}\n  actual: clojure.lang.ExceptionInfo: Output of summarize does not match schema: {:destination (throws? (uri? nil))}\n at puppetlabs.pcp.broker.core$eval25752$summarize__25757.invoke (core.clj:115)\n    puppetlabs.pcp.broker.core$eval26168$authorized_QMARK___26173$fn__26174.invoke (core.clj:357)\n    puppetlabs.pcp.broker.core$eval26168$authorized_QMARK___26173.invoke (core.clj:349)\n    puppetlabs.pcp.broker.core$eval26229$validate_message__26234$fn__26235.invoke (core.clj:390)\n    puppetlabs.pcp.broker.core$eval26229$validate_message__26234.invoke (core.clj:382)\n    puppetlabs.pcp.broker.core_test$fn__27247$fn__27248$fn__27253.invoke (core_test.clj:310)\n    clojure.core$with_redefs_fn.invokeStatic (core.clj:7216)\n    clojure.core$with_redefs_fn.invoke (core.clj:7200)\n    puppetlabs.pcp.broker.core_test$fn__27247$fn__27248.invoke (core_test.clj:271)\n    clojure.core$with_redefs_fn.invokeStatic (core.clj:7216)\n    clojure.core$with_redefs_fn.invoke (core.clj:7200)\n    puppetlabs.pcp.broker.core_test$fn__27247.invokeStatic (core_test.clj:260)\n    puppetlabs.pcp.broker.core_test/fn (core_test.clj:259)\n    clojure.test$test_var$fn__7983.invoke (test.clj:716)\n    clojure.test$test_var.invokeStatic (test.clj:716)\n    clojure.test$test_var.invoke (test.clj:707)\n    clojure.test$test_vars$fn__8005$fn__8010.invoke (test.clj:734)\n    clojure.test$default_fixture.invokeStatic (test.clj:686)\n    clojure.test$default_fixture.invoke (test.clj:682)\n    clojure.test$test_vars$fn__8005.invoke (test.clj:734)\n    clojure.test$default_fixture.invokeStatic (test.clj:686)\n    clojure.test$default_fixture.invoke (test.clj:682)\n    clojure.test$test_vars.invokeStatic (test.clj:730)\n    clojure.test$test_all_vars.invokeStatic (test.clj:736)\n    clojure.test$test_ns.invokeStatic (test.clj:757)\n    clojure.test$test_ns.invoke (test.clj:742)\n    user$eval1748$fn__1799.invoke (form-init2154855213961604788.clj:1)\n    clojure.lang.AFn.applyToHelper (AFn.java:156)\n    clojure.lang.AFn.applyTo (AFn.java:144)\n    clojure.core$apply.invokeStatic (core.clj:648)\n    clojure.core$apply.invoke (core.clj:641)\n    leiningen.core.injected$compose_hooks$fn__1682.doInvoke (form-init2154855213961604788.clj:1)\n    clojure.lang.RestFn.applyTo (RestFn.java:137)\n    clojure.core$apply.invokeStatic (core.clj:646)\n    clojure.core$apply.invoke (core.clj:641)\n    leiningen.core.injected$run_hooks.invokeStatic (form-init2154855213961604788.clj:1)\n    leiningen.core.injected$run_hooks.invoke (form-init2154855213961604788.clj:1)\n    leiningen.core.injected$prepare_for_hooks$fn__1687$fn__1688.doInvoke (form-init2154855213961604788.clj:1)\n    clojure.lang.RestFn.applyTo (RestFn.java:137)\n    clojure.lang.AFunction$1.doInvoke (AFunction.java:29)\n    clojure.lang.RestFn.invoke (RestFn.java:408)\n    clojure.core$map$fn__4785.invoke (core.clj:2646)\n    clojure.lang.LazySeq.sval (LazySeq.java:40)\n    clojure.lang.LazySeq.seq (LazySeq.java:49)\n    clojure.lang.Cons.next (Cons.java:39)\n    clojure.lang.RT.boundedLength (RT.java:1749)\n    clojure.lang.RestFn.applyTo (RestFn.java:130)\n    clojure.core$apply.invokeStatic (core.clj:648)\n    clojure.test$run_tests.invokeStatic (test.clj:767)\n    clojure.test$run_tests.doInvoke (test.clj:767)\n    clojure.lang.RestFn.applyTo (RestFn.java:137)\n    clojure.core$apply.invokeStatic (core.clj:646)\n    clojure.core$apply.invoke (core.clj:641)\n    user$eval1748$fn__1811$fn__1842.invoke (form-init2154855213961604788.clj:1)\n    user$eval1748$fn__1811$fn__1812.invoke (form-init2154855213961604788.clj:1)\n    user$eval1748$fn__1811.invoke (form-init2154855213961604788.clj:1)\n    user$eval1748.invokeStatic (form-init2154855213961604788.clj:1)\n    user$eval1748.invoke (form-init2154855213961604788.clj:1)\n    clojure.lang.Compiler.eval (Compiler.java:6927)\n    clojure.lang.Compiler.eval (Compiler.java:6917)\n    clojure.lang.Compiler.load (Compiler.java:7379)\n    clojure.lang.Compiler.loadFile (Compiler.java:7317)\n    clojure.main$load_script.invokeStatic (main.clj:275)\n    clojure.main$init_opt.invokeStatic (main.clj:277)\n    clojure.main$init_opt.invoke (main.clj:277)\n    clojure.main$initialize.invokeStatic (main.clj:308)\n    clojure.main$null_opt.invokeStatic (main.clj:342)\n    clojure.main$null_opt.invoke (main.clj:339)\n    clojure.main$main.invokeStatic (main.clj:421)\n    clojure.main$main.doInvoke (main.clj:384)\n    clojure.lang.RestFn.invoke (RestFn.java:421)\n    clojure.lang.Var.invoke (Var.java:383)\n    clojure.lang.AFn.applyToHelper (AFn.java:156)\n  ", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31643", "fixedVersions": [], "id": "31643", "issueType": "Bug", "key": "PCP-694", "labels": ["maintenance"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Cannot Reproduce", "resolutionDate": "2017-06-19T13:39:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Debug logging causes test failures with schema validation enabled", "timeSpent": "PT0S", "updated": "2017-06-20T10:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "attachments": [], "comments": [], "components": ["clj-pcp-client"], "created": "2017-01-20T16:23:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "clj-pcp-client tests against pcp-broker 1.0.0 and depends on clj-pcp-common 1.0.0"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@18698082"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-399"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hymm47:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_54979_*|*_10007_*:*_1_*:*_323565870_*|*_3_*:*_1_*:*_2281030_*|*_5_*:*_1_*:*_0"}], "description": "In Orchestrator, clj-pcp-client and pcp-broker run in the same process, so they need to be able to share the same implementation of clj-pcp-common. Update clj-pcp-client to use clj-pcp-common 1.0.0 and test against pcp-broker 1.0.0.", "epicLinkSummary": "PCP Version 2 Protocol", "estimate": "PT0S", "externalId": "31886", "fixedVersions": ["clj-pcp-client 0.4.0", "clj-pxp-puppet 0.3.0"], "id": "31886", "issueType": "Task", "key": "PCP-693", "labels": [], "originalEstimate": "PT0S", "parent": "31882", "parentSummary": "PCP Version 2 Protocol", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-01-24T10:55:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Update clj-pcp-client and clj-pxp-puppet to interoperate with pcp-broker 1.0.0", "timeSpent": "PT0S", "updated": "2017-01-24T10:55:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This hasn't changed at all. I think we should add something to https://docs.puppet.com/pe/latest/install_multimaster.html mentioning that Orchestrator will act through Compile Masters if present, allowing you to scale out using them. The only new piece of setup is that you need to brokers on Compile Masters by updating {{puppet_enterprise::profile::agent::pcp_broker_list}} to point to a list of one or more load balancers (and make sure {{puppet_enterprise::profile::agent::pcp_broker_ws_uris}} is an empty list). {{pcp_broker_list}} should be a list of hostname/ports, as in {{puppet:8142}}.", "created": "2017-03-23T14:30:00.000000"}, {"author": "557058:5e2d4e96-5ea8-42e3-9179-a3afcdccef2f", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] so you're saying that scaling orchestrator through compile masters (via PCP brokers) is an optional step? If you a user wants this, after installing the compile master, they need to update those classes? If this is the case, I'll write up docs and submit for review.", "created": "2017-03-24T11:19:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "It is optional, in the same way that using Compile Masters is optional.\n\nMy understanding of the normal Compile Master workflow is:\n- Setup Compile Masters\n- Setup a load balancer for them\n- When you install agents, do *magic* to point them at the load balancer. Generally that's setup DNS to resolve your load balancer as {{puppet}} and rely on the default {{server}} parameter of Puppet, or set the server when you install (Windows prompts you for the server name, I think on other platforms you have to do it separately).\n\nFor HA, we added a {{server_list}} parameter that can be used to configure Puppet Agents after install. The steps above work because PE doesn't manage all of {{puppet.conf}}. Currently PE does manage all of {{pxp-agent.conf}}, thus the right way to set it up is to use PE to configure pxp-agent.\n\nThus the workflow for setting up pxp-agents would be\n- Setup Compile Masters\n- Setup a load balancer\n- Set the {{pcp_broker_list}} parameter of the {{puppet_enterprise::profile::agent}} class in {{PE Agent}} to the load balancer.\n- Install agents. On their first run, puppet will configure pxp-agent to connect via the load balancer.", "created": "2017-03-24T12:07:00.000000"}, {"author": "557058:5e2d4e96-5ea8-42e3-9179-a3afcdccef2f", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e], as I was working on this I realized it didn't make sense to separate the content from PCP-628 with this, and just combined them into one topic, with the conceptual description and the task. \n\nI also took the liberty to trim some of the stuff from the original conceptual description that came from 628--whether this is ultimately ok or not, I'm not sure, but I think this better streamlines the information and keeps the conceptual description and the task together, which is more ideal. \n\nI'm still not sure the title of the topic is correct.\n\ncc [~accountid:557058:093475a3-6bc8-4a70-8034-ae5a2ea66512]\n\nhttps://github.com/puppetlabs/pe-docs-private/commit/f3bbc5464fda4c7274acb54465c2832d7b4c4f89\n\nnote: I also took a stab at a \"MEEP VERSION\" which you can see in the raw view on github.", "created": "2017-03-24T15:22:00.000000"}, {"author": "557058:5e2d4e96-5ea8-42e3-9179-a3afcdccef2f", "body": "All review now happening in PCP-628", "created": "2017-03-27T10:11:00.000000"}], "components": ["DOCS"], "created": "2017-01-20T13:11:00.000000", "creator": "557058:5e2d4e96-5ea8-42e3-9179-a3afcdccef2f", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7d288973"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzbf6n:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "23/Mar/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_21166465_*|*_10009_*:*_1_*:*_330031887_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_98184799_*|*_10005_*:*_2_*:*_5238592259"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31885", "fixedVersions": [], "id": "31885", "issueType": "Task", "key": "PCP-692", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:5e2d4e96-5ea8-42e3-9179-a3afcdccef2f", "resolution": "Fixed", "resolutionDate": "2017-03-27T10:11:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Pre-docs task: how do I install/config Compile Masters with pcp-broker?", "timeSpent": "PT0S", "updated": "2017-03-27T10:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:5e2d4e96-5ea8-42e3-9179-a3afcdccef2f", "attachments": [], "comments": [{"author": "557058:5e2d4e96-5ea8-42e3-9179-a3afcdccef2f", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e], I believe we've taken care of this with the stuff we did on PCP-628/692, correct? I think we can close this as a duplicate.", "created": "2017-03-27T09:59:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I agree.", "created": "2017-03-27T10:01:00.000000"}], "components": ["DOCS"], "created": "2017-01-20T13:09:00.000000", "creator": "557058:5e2d4e96-5ea8-42e3-9179-a3afcdccef2f", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@23c71b9c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzbf6v:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Mar/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_5259903456_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_427664828"}], "description": "Document the orchestrator relay install or config.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31722", "fixedVersions": [], "id": "31722", "issueType": "Task", "key": "PCP-691", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:5e2d4e96-5ea8-42e3-9179-a3afcdccef2f", "resolution": "Duplicate", "resolutionDate": "2017-03-27T10:01:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "DOC: document creation of Compile Masters with pcp-broker", "timeSpent": "PT0S", "updated": "2017-03-27T10:02:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:e2510a0a-1767-444f-be52-bae9bb15d3f6", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Is this needed for all branches, or just master?", "created": "2017-01-20T12:48:00.000000"}, {"author": "557058:e2510a0a-1767-444f-be52-bae9bb15d3f6", "body": "This is needed for all branches.  I wanted to get it into the one [~accountid:557058:5f73e620-a5f5-44a8-a863-f1e0061b987a] was testing at the time.", "created": "2017-01-20T14:01:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Green through puppet-agent#master at https://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/master/view/puppet-agent/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/2/", "created": "2017-01-24T09:54:00.000000"}], "components": [], "created": "2017-01-20T12:25:00.000000", "creator": "557058:e2510a0a-1767-444f-be52-bae9bb15d3f6", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@193a2262"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "No Action"}, {"fieldName": "QA Risk Assessment Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Build, test, infrastructure tickets not risk-assessed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzbe3j:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/Jan/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_335155062_*|*_1_*:*_1_*:*_22638_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1351637"}], "description": "Current LDOM has some performance issue. Switching to newer LDOM\n", "environment": "Puppet Agent CI Pipeline", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32260", "fixedVersions": [], "id": "32260", "issueType": "Task", "key": "PCP-690", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:e2510a0a-1767-444f-be52-bae9bb15d3f6", "resolution": "Fixed", "resolutionDate": "2017-01-24T09:54:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Acceptance: Switch to newer Solaris 11 LDOM", "timeSpent": "PT0S", "updated": "2017-02-01T10:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:15326046-a29a-49e8-87a0-a88709e5cc0a", "body": "\n{code:bash}\n[root@sb2sf02lf01 var]# systemctl status pxp-agent -l\npxp-agent.service - PCP Execution Protocol (PXP) Agent\n   Loaded: loaded (/usr/lib/systemd/system/pxp-agent.service", "created": "2017-01-20T09:58:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Which version of PE are you using? This looks like PCP-297, which was fixed in PE 2016.1.1.", "created": "2017-01-24T15:35:00.000000"}, {"author": "557058:15326046-a29a-49e8-87a0-a88709e5cc0a", "body": "[~accountid:623c0c6f94742a00683e3e63] This is not a matter of rundir as noted in [-PCP-297-|https://puppet.atlassian.net/browse/PCP-297] but a matter of prefacing the ExecStart with \"/bin/nsenter --net=/var/run/netns/management -- \"\n\nWhat that preface does for a Cisco switch is it gets into a specific [network namespace|http://man7.org/linux/man-pages/man8/ip-netns.8.html] in order to have the running suffix command be applicable.\n\nIt can be more specifically seen here in Cisco's documentation for [Puppet Agent installation on a VM running in the guestshell environment|https://github.com/cisco/cisco-network-puppet-module/blob/master/docs/README-agent-install.md#service-management-in-guestshell-using-systemd]", "created": "2017-01-25T13:06:00.000000"}, {"author": "557058:15326046-a29a-49e8-87a0-a88709e5cc0a", "body": "My last comment explains what Cisco requires for the agent to start.  However the issue still stands on the original message I included with this ticket regarding the volatile memory in which Cisco symlinks and therefore stores /var/log.", "created": "2017-01-25T13:15:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Ah, I confused /var/run and /var/log.", "created": "2017-01-26T10:07:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I'm not totally sure I understand the problem. My understanding is that pxp-agent is run in an environment that uses a volatile var dir. The solution there seems similar to PCP-297: create the log path if it doesn't exist.", "created": "2017-01-26T10:11:00.000000"}, {"author": "557058:15326046-a29a-49e8-87a0-a88709e5cc0a", "body": "[~accountid:623c0c6f94742a00683e3e63] In fairness I likely confused the matter.  You are correct in that the issue is related to /var/log being volatile inside of the guestshell environment on a Cisco Nexus switch.  The resolution would be to create the directory so pxp-agent can log, thus solving the issue of the pxp-agent not starting.  We did that solution by hand and it worked for us.  Hope this helps clarify.", "created": "2017-01-26T10:31:00.000000"}, {"author": "557058:15326046-a29a-49e8-87a0-a88709e5cc0a", "body": "I should mention that our colleagues at RBC noted the volatile gets wiped each time the switch reloads.  Since a switch reload can happen independent of the guestshell VM environment, there is potential for the volatile memory to get wiped multiple times over the life of a guestshell VM.  Since  /var/log/puppetlabs is symlinked to the volatile memory on a Cisco switch, we may have a bigger issue than we originally estimated.", "created": "2017-01-26T11:34:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "How about reconfiguring logging to a different location?", "created": "2017-01-26T11:36:00.000000"}, {"author": "557058:15326046-a29a-49e8-87a0-a88709e5cc0a", "body": "Since this affects the guestshell env on all Nexus 9k and 3k switches, we may just want to prescriptively.  Customer is ok with managing these directories with Puppet code.  However, since this affects one of our product services from starting I wanted to present the idea that we may want to do manage it at time of install.", "created": "2017-01-26T11:47:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Doing so might run into PE-19356.", "created": "2017-01-26T11:56:00.000000"}, {"author": "557058:15326046-a29a-49e8-87a0-a88709e5cc0a", "body": "Thank you for mentioning [PE-19356|https://puppet.atlassian.net/browse/PE-19356], I was not aware that it existed.  We will inform Cisco to put the reconfiguration of the logging location in their README docs.  Thanks, as always, for the help.  much appreciated [~accountid:623c0c6f94742a00683e3e63].  Feel free to close this one.", "created": "2017-01-26T12:15:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "The issue in PE-19356 hasn't been resolved yet. That makes it difficult to reconfigure where logging is done.", "created": "2017-01-26T12:17:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "It'd also be appropriate to put this in the service startup script on this system. That could be used to override things like logfile or loglevel, and ensure the directory exists.", "created": "2017-02-06T10:37:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Which Cisco OS was this in particular? Is this a common default configuration? I believe we're running acceptance tests on the platforms we ship, so I'm surprised this hasn't been an issue.", "created": "2017-03-07T11:07:00.000000"}, {"author": "557058:15326046-a29a-49e8-87a0-a88709e5cc0a", "body": "Currently all Nexus 9k and Nexus 3k switches that run the Puppet agent in the guestshell environment are affected.  Since the Nexus 7k or Nexus 5k switches do not have VM (guestshell) capabilities and therefore are not affected.  The issue is that Cisco maps the guestshell /var directory to volatile memory which is not ideal for our agent operation.", "created": "2017-03-07T13:00:00.000000"}, {"author": "557058:15326046-a29a-49e8-87a0-a88709e5cc0a", "body": "Also worth noting [~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] this issue would not have been raised in acceptance testing if rebooting of the switch is not currently apart of the testing process.", "created": "2017-03-08T08:26:00.000000"}], "components": [], "created": "2017-01-20T09:41:00.000000", "creator": "557058:15326046-a29a-49e8-87a0-a88709e5cc0a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3b52707d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hylt1b:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The pxp-agent init script will now ensure the default log location exists on service startup."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "24/Jan/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_106812567_*|*_1_*:*_1_*:*_520024734_*|*_10007_*:*_1_*:*_1023971039_*|*_5_*:*_1_*:*_514429202_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_9069057631_*|*_10006_*:*_1_*:*_874303787_*|*_10005_*:*_1_*:*_3460307909"}], "description": "While we are working at RBC, we noticed in pxp-agent service cannot start because /var/log/puppetlabs/pxp-agent directory does not exist.\n\nWhen we create said directory and restart the service, all is well.\n\nWhat we learned is that the /var/log is a symlink to /var/volatile/log which is volatile memory masked in the OS by the switch.  /var/volatile upon restart of the guestshell environment is cleared.\n\n----\n\npxp-agent's init script should ensure the {{/var/log/puppetlabs}} exists before starting.", "environment": "puppet -V returned '4.7.0'\n\nThis is the guestshell environment running on the Cisco switch.  The guestshell environment image we are using is Centos 7 x86_64.\n\nThis is not to be confused with the Cisco bash shell.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31539", "fixedVersions": ["pxp-agent 1.5.4", "pxp-agent 1.6.1"], "id": "31539", "issueType": "Bug", "key": "PCP-697", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:15326046-a29a-49e8-87a0-a88709e5cc0a", "resolution": "Fixed", "resolutionDate": "2017-07-13T16:28:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent fails to start on Cisco switch", "timeSpent": "PT0S", "updated": "2017-07-19T15:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "attachments": [], "comments": [], "components": [], "created": "2017-01-17T10:59:00.000000", "creator": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4cd7af97"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "No Action"}, {"fieldName": "QA Risk Assessment Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Release, infra, and research tickets not risk-assessed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzb9en:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_8993_*|*_3_*:*_1_*:*_73584_*|*_5_*:*_1_*:*_0"}], "description": "Tag pxp-agent 1.2.3 at add0fd050fe4d0f8154688a9eb1af660dd2462f6 for the upcoming puppet-agent 1.7.2 release", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31721", "fixedVersions": [], "id": "31721", "issueType": "Task", "key": "PCP-688", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "resolution": "Done", "resolutionDate": "2017-01-17T11:00:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Tag pxp-agent 1.2.3 for upcoming agent release", "timeSpent": "PT0S", "updated": "2017-01-18T09:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:22d0f8be-5a48-45ef-8078-6e91e5c34720", "attachments": [], "comments": [], "components": [], "created": "2017-01-17T10:32:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@32758d35"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzc0nb:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Add a pcp-broker.max-connections setting. When configured to a positive number, it will reject any new connections whenever the current connections meets or exceeds that number."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_582089_*|*_1_*:*_1_*:*_4772940186_*|*_10007_*:*_1_*:*_82357847_*|*_3_*:*_1_*:*_1201916_*|*_5_*:*_1_*:*_0"}], "description": "Add a configurable limit to pcp-broker that causes new connections to be rejected while the number of active connections is at that limit. It should be unlimited by default.\n\nThe goal of this is to avoid the worst-cases of overloading a single broker. This will be refined as-needed based on simulation.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31971", "fixedVersions": ["pcp-broker 1.2.0"], "id": "31971", "issueType": "Improvement", "key": "PCP-727", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Done", "resolutionDate": "2017-03-14T16:43:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add connection limit to pcp-broker", "timeSpent": "PT0S", "updated": "2017-03-14T16:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "attachments": [], "comments": [], "components": [], "created": "2017-01-12T12:03:00.000000", "creator": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@68f403e9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "No Action"}, {"fieldName": "QA Risk Assessment Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Release, infra, and research tickets not risk-assessed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzb7cv:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_6600_*|*_10007_*:*_1_*:*_1227021_*|*_3_*:*_1_*:*_156350_*|*_5_*:*_1_*:*_505234422_*|*_6_*:*_1_*:*_0"}], "description": "The PXP-agent version needs to be updated to 1.2.3 for the upcoming agent 1.7.2 LTS release", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31884", "fixedVersions": ["pxp-agent 1.2.3"], "id": "31884", "issueType": "Task", "key": "PCP-686", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "resolution": "Fixed", "resolutionDate": "2017-01-12T12:26:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Bump Pxp-agent version for upcoming LTS release", "timeSpent": "PT0S", "updated": "2017-01-18T09:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I don't see it using size inconsistently. It's used in the equality operator.", "created": "2017-01-12T15:49:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "The problem is when the sizes match, but the content strings' sizes don't, something like this:\n{code}\nsize = 5\ncontent = \"Hello\"\n{code}\nvs.\n{code}\nsize = 5\ncontent = \"Hello, world!\"\n{code}\nWhen {{operator==}} is invoked on the above chunks it will return false, while IMO it should return true.", "created": "2017-01-16T06:38:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This is poor coding, but it's code from an old protocol version. No plans to fix it.", "created": "2017-03-01T18:00:00.000000"}], "components": [], "created": "2017-01-11T13:05:00.000000", "creator": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@33433ece"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzb6jz:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Jan/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_73921699_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_4177382721"}], "description": "The {{size}} filed in the {{PCPClient::v1::MessageChunk}} class is superfluous as we never create chunks with content defined only as a portion of some string in which case the same info can be obtained by calling {{size()}} on the string.\nRemoving the field will simplify the class and as a side effect will fix implementations of several methods which use the {{size}} field inconsistently (notably {{operator==}}).\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31928", "fixedVersions": [], "id": "31928", "issueType": "Improvement", "key": "PCP-684", "labels": ["maintenance"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "resolution": "Won't Fix", "resolutionDate": "2017-03-01T18:00:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Remove the size field from PCPClient::v1::MessageChunk", "timeSpent": "PT0S", "updated": "2017-03-01T18:00:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:e2510a0a-1767-444f-be52-bae9bb15d3f6", "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Looks like many test failures. I think this is PCP-612 - pxp-agent isn't able to open websockets on CiscoXR", "created": "2017-01-12T07:16:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": " [~accountid:557058:e2510a0a-1767-444f-be52-bae9bb15d3f6] [~accountid:557058:5f73e620-a5f5-44a8-a863-f1e0061b987a] CC [~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] - in the PR for this, I suggested an alternate coding solution or (what might be the most appropriate fix) a ci-job-configs fix.\nSince this is a CI Blocker", "created": "2017-01-13T10:26:00.000000"}, {"author": "557058:5f73e620-a5f5-44a8-a863-f1e0061b987a", "body": "[~accountid:557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b] I'm fine with an alternative PR that is easier to undo when one of the other of the broken things gets unbroken.", "created": "2017-01-13T11:59:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] is \"Ready for CI\" status correct? [~accountid:557058:e2510a0a-1767-444f-be52-bae9bb15d3f6] moved the ticket back to \"In Progress\" but I don't see additional commits after that.\nIf you discussed offline and don't want further work on this ticket, ignore me", "created": "2017-01-16T04:18:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Oh, I don't know then. The tests are skipped now, so I figured it was done.", "created": "2017-01-17T10:54:00.000000"}, {"author": "557058:e2510a0a-1767-444f-be52-bae9bb15d3f6", "body": "[~accountid:557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b] [~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] & [~accountid:557058:89341248-d23e-4b19-a2b6-66b9bb55eb83]  This appears to have made it into the Master branch, but it's not in LTS or Stable.\n\nI will submit a PR for LTS and then we can merge up to Stable", "created": "2017-02-01T10:42:00.000000"}, {"author": "557058:89341248-d23e-4b19-a2b6-66b9bb55eb83", "body": "In the stable run on Jan 31st, 2017 against SHA e32d6bf85e912c78a8b4f4d3266710666b972aba, the tests are still running against the CiscoXR, did this change get pushed into all the necessary branches?\n\nhttps://jenkins.puppetlabs.com/view/puppet-agent/view/manual/view/stable/job/platform_puppet-agent_intn-van-sys_suite-manual-pxp-agent-stable/\n\nSLAVE_LABEL=beaker,TEST_TARGET=ciscoxr-64a\n\n{noformat}\nTest Name\nDuration\nAge\n tests/pxp-module-puppet.run_puppet_during_puppet.rb (Failed 8 times in the last 8 runs. Stability: 0 %)\t1 min 40 sec\t19\n tests/pxp-module-puppet.run_puppet_killed_puppet.rb (Failed 8 times in the last 8 runs. Stability: 0 %)\t1 min 40 sec\t19\n tests/pxp-module-puppet.run_puppet_twice.rb (Failed 8 times in the last 8 runs. Stability: 0 %)\t1 min 51 sec\t19\n tests.invalid_ssl_config.rb (Failed 9 times in the last 9 runs. Stability: 0 %)\t3 min 11 sec\t24\n tests.pxp_agent_associate.rb (Failed 9 times in the last 9 runs. Stability: 0 %)\t1 min 56 sec\t24\n tests.reconnect_after_broker_unavailable.rb (Failed 9 times in the last 9 runs. Stability: 0 %)\t1 min 50 sec\t24\n tests.restart_host_run_puppet.rb (Failed 9 times in the last 9 runs. Stability: 0 %)\t1 min 44 sec\t24\n tests/failover.intentional_shutdown_failover.rb (Failed 9 times in the last 9 runs. Stability: 0 %)\t2 min 9 sec\t24\n tests/failover.timeout_failover.rb (Failed 9 times in the last 9 runs. Stability: 0 %)\t2 min 7 sec\t24\n tests/pxp-module-puppet.restart_pxp_agent_during_non_blocking_run.rb (Failed 9 times in the last 9 runs. Stability: 0 %)\t1 min 41 sec\t24\n tests/pxp-module-puppet.run_puppet.rb (Failed 9 times in the last 9 runs. Stability: 0 %)\t1 min 38 sec\t24\n tests/pxp-module-puppet.run_puppet_agent_disabled.rb (Failed 9 times in the last 9 runs. Stability: 0 %)\t2 min 25 sec\t24\n tests/pxp-module-puppet.run_puppet_nonASCII.rb (Failed 9 times in the last 9 runs. Stability: 0 %)\t1 min 51 sec\t24\n tests/pxp-module-puppet.run_puppet_result_changed.rb (Failed 9 times in the last 9 runs. Stability: 0 %)\t1 min 42 sec\t24\n tests/pxp-module-puppet.run_puppet_result_failed.rb (Failed 9 times in the last 9 runs. Stability: 0 %)\t1 min 43 sec\t24\n{noformat}", "created": "2017-02-01T10:47:00.000000"}, {"author": "557058:e2510a0a-1767-444f-be52-bae9bb15d3f6", "body": "[~accountid:557058:89341248-d23e-4b19-a2b6-66b9bb55eb83] That SHA is older than the commit in Stable with the change. Once we get a newer build this change should be seen.", "created": "2017-02-02T09:09:00.000000"}], "components": ["CI Blocker"], "created": "2017-01-11T12:18:00.000000", "creator": "557058:5f73e620-a5f5-44a8-a863-f1e0061b987a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@21e231b3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "No Action"}, {"fieldName": "QA Risk Assessment Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Test-related tickets not risk assessed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzb6j3:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Jan/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_1109992757_*|*_1_*:*_1_*:*_90615350_*|*_10007_*:*_1_*:*_7318505_*|*_3_*:*_2_*:*_82009920_*|*_4_*:*_1_*:*_11612912_*|*_5_*:*_2_*:*_526096900_*|*_10005_*:*_1_*:*_2151"}], "description": "Until one or both of pxp-agent tests and CiscoXR improve, stop running these tests on this platform. They rarely pass:\nhttps://jenkins.puppetlabs.com/view/puppet-agent/view/manual/view/stable/job/platform_puppet-agent_intn-van-sys_suite-manual-pxp-agent-stable/41/SLAVE_LABEL=beaker,TEST_TARGET=ciscoxr-64a/#showFailuresLink", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32259", "fixedVersions": [], "id": "32259", "issueType": "Bug", "key": "PCP-685", "labels": ["CI", "CI_Blocker", "Cisco", "pxp_puppet-agent_ci"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:5f73e620-a5f5-44a8-a863-f1e0061b987a", "resolution": "Done", "resolutionDate": "2017-02-01T15:59:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Skip CiscoXR testing on pxp-agent until one of them gets fixed", "timeSpent": "PT0S", "updated": "2017-02-02T09:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "created": "2017-01-11T18:01:00.000000", "name": "0001-Test-tuning.patch", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12309"}, {"attacher": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "created": "2017-01-11T18:16:00.000000", "name": "mainv1.cpp", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12316"}, {"attacher": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "created": "2017-01-11T18:16:00.000000", "name": "mainv2.cpp", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12325"}], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "PCPv2 seems to be consistently (slightly) faster. I tried both Gatling and a test driver based on the tutorial controller from cpp-pcp-client. Gatling shows a larger difference, but I attribute that more to Gatling calling out to Clojure code to construct a message than broker performance. I ran tests against both v1 and v2 endpoints of pcp-broker 1.0, with {{-Xmx=64m}} (that's approximately the baseline requirement for a functional pcp-broker)", "created": "2017-01-11T17:55:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I used pcp-broker#1.0.0 with [^0001-Test-tuning.patch] applied, run via {{lein tk}}. I used two test drivers, running drivers and broker on separate 4-core 4GB CentOS 7 VMs\n\nTests via Gatling, using 10 clients sending 1000 messages each. [gatling-pcp#efdf741|https://github.com/puppetlabs/gatling-pcp/commit/efdf741b01dc1d2a95eca1186be55eaeaf9a1073]\n\n{code:title=PCPv1}\n$ sbt\n> gatling:testOnly ThroughputV1\n...\nSimulation ThroughputV1 completed in 18 seconds\nParsing log file(s)...\n2017-01-12 01:05:32,225 INFO  [pool-1-thread-1] [i.g.c.s.LogFileReader] Collected ArrayBuffer(/root/gatling-pcp/target/gatling/throughputv1-1484183112586/simulation.log) from throughputv1-1484183112586\n2017-01-12 01:05:32,236 INFO  [pool-1-thread-1] [i.g.c.s.LogFileReader] First pass\n2017-01-12 01:05:32,321 INFO  [pool-1-thread-1] [i.g.c.s.LogFileReader] First pass done: read 10051 lines\n2017-01-12 01:05:32,335 INFO  [pool-1-thread-1] [i.g.c.s.LogFileReader] Second pass\n2017-01-12 01:05:33,122 INFO  [pool-1-thread-1] [i.g.c.s.LogFileReader] Second pass: read 10051 lines\nParsing log file(s) done\nGenerating reports...\n\n================================================================================\n---- Global Information --------------------------------------------------------\n> request count                                      10030 (OK=10030  KO=0     )\n> min response time                                      0 (OK=0      KO=-     )\n> max response time                                    882 (OK=882    KO=-     )\n> mean response time                                     1 (OK=1      KO=-     )\n> std deviation                                         26 (OK=26     KO=-     )\n> response time 50th percentile                          0 (OK=0      KO=-     )\n> response time 75th percentile                          0 (OK=0      KO=-     )\n> response time 95th percentile                          0 (OK=0      KO=-     )\n> response time 99th percentile                          0 (OK=0      KO=-     )\n> mean requests/sec                                527.895 (OK=527.895 KO=-     )\n---- Response Time Distribution ------------------------------------------------\n> t < 800 ms                                         10021 (100%)\n> 800 ms < t < 1200 ms                                   9 (  0%)\n> t > 1200 ms                                            0 (  0%)\n> failed                                                 0 (  0%)\n================================================================================\n\nReports generated in 1s.\nPlease open the following file: /root/gatling-pcp/target/gatling/throughputv1-1484183112586/index.html\n[info] Simulation ThroughputV1 successful.\n[info] Simulation(s) execution ended.\n[success] Total time: 30 s, completed Jan 12, 2017 1:05:33 AM\n{code}\n{code:title=PCPv2}\n$ sbt\n> gatling:testOnly ThroughputV2\n...\nSimulation ThroughputV2 completed in 8 seconds\nParsing log file(s)...\n2017-01-12 01:07:11,328 INFO  [pool-1-thread-1] [i.g.c.s.LogFileReader] Collected ArrayBuffer(/root/gatling-pcp/target/gatling/throughputv2-1484183221510/simulation.log) from throughputv2-1484183221510\n2017-01-12 01:07:11,338 INFO  [pool-1-thread-1] [i.g.c.s.LogFileReader] First pass\n2017-01-12 01:07:11,489 INFO  [pool-1-thread-1] [i.g.c.s.LogFileReader] First pass done: read 20041 lines\n2017-01-12 01:07:11,501 INFO  [pool-1-thread-1] [i.g.c.s.LogFileReader] Second pass\n2017-01-12 01:07:12,289 INFO  [pool-1-thread-1] [i.g.c.s.LogFileReader] Second pass: read 20041 lines\nParsing log file(s) done\nGenerating reports...\n\n================================================================================\n---- Global Information --------------------------------------------------------\n> request count                                      20020 (OK=20020  KO=0     )\n> min response time                                      0 (OK=0      KO=-     )\n> max response time                                    545 (OK=545    KO=-     )\n> mean response time                                     2 (OK=2      KO=-     )\n> std deviation                                         12 (OK=12     KO=-     )\n> response time 50th percentile                          0 (OK=0      KO=-     )\n> response time 75th percentile                          2 (OK=2      KO=-     )\n> response time 95th percentile                          7 (OK=7      KO=-     )\n> response time 99th percentile                         13 (OK=13     KO=-     )\n> mean requests/sec                                2224.444 (OK=2224.444 KO=-     )\n---- Response Time Distribution ------------------------------------------------\n> t < 800 ms                                         20020 (100%)\n> 800 ms < t < 1200 ms                                   0 (  0%)\n> t > 1200 ms                                            0 (  0%)\n> failed                                                 0 (  0%)\n================================================================================\n\nReports generated in 1s.\nPlease open the following file: /root/gatling-pcp/target/gatling/throughputv2-1484183221510/index.html\n[info] Simulation ThroughputV2 successful.\n[info] Simulation(s) execution ended.\n[success] Total time: 17 s, completed Jan 12, 2017 1:07:13 AM\n{code}\n\nTests via cpp-pcp-client and test drivers ([^mainv1.cpp] and [^mainv2.cpp]).\n{code}\n# Given a Linux test system with puppet-agent and gcc/boost from pl-build-tools, build drivers with\ng++ mainv1.cpp -std=c++11 -o controllerv1 -I/opt/puppetlabs/puppet/include -I/opt/pl-build-tools/include /opt/puppetlabs/puppet/lib/libcpp-pcp-client.so /opt/puppetlabs/puppet/lib/leatherman_json_container.so /opt/puppetlabs/puppet/lib/leatherman_locale.so\ng++ mainv2.cpp -std=c++11 -o controllerv2 -I/opt/puppetlabs/puppet/include -I/opt/pl-build-tools/include /opt/puppetlabs/puppet/lib/libcpp-pcp-client.so /opt/puppetlabs/puppet/lib/leatherman_json_container.so /opt/puppetlabs/puppet/lib/leatherman_locale.so\n{code}\n\n{code:title=PCPv1}\n$ time ./controllerv1\nSuccessfully connected\nSending 5000 messages\n+++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++\nAll messages sent\n.............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................\nAll messages received\n\nreal\t0m11.591s\nuser\t0m3.082s\nsys\t0m2.237s\n{code}\n{code:title=PCPv2}\n$ time ./controllerv2\nSuccessfully connected\nSending 5000 messages\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++.++++++++++++++++++++++++.+++++++++++++++++++++++.++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++.++++++++++++++++++++++++.++++++++++++++++++++++++++++.++++++++++++++++++++++++++.+++++++++++++++++++++++++++++.++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++.+++++++++++++++++++++++.++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++++++++.++++++\nAll messages sent\n..............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................\nAll messages received\n\nreal\t0m9.485s\nuser\t0m3.715s\nsys\t0m5.078s\n{code}\n\nNote that in a future commit to cpp-pcp-client, appending the client type to the URI in mainv2.cpp will not be needed (and indeed cause failures).", "created": "2017-01-11T18:21:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "For connection tests, I bumped memory up to 256m and set {{ulimit -n 5000}}. The connection rate in the Gatling connection tests were then bumped until the time started to slip from the connection period of 20 seconds or connection attempts started to fail. For both that was around 200 connections per second.\n\n{code:title=PCPv1}\n$ sbt\n> gatling:testOnly ConnectionsV1\n...\nSimulation ConnectionsV1 completed in 20 seconds\nParsing log file(s)...\n2017-01-12 01:40:20,339 INFO  [pool-1-thread-1] [i.g.c.s.LogFileReader] Collected ArrayBuffer(/root/gatling-pcp/target/gatling/connectionsv1-1484185198954/simulation.log) from connectionsv1-1484185198954\n2017-01-12 01:40:20,360 INFO  [pool-1-thread-1] [i.g.c.s.LogFileReader] First pass\n2017-01-12 01:40:20,518 INFO  [pool-1-thread-1] [i.g.c.s.LogFileReader] First pass done: read 16001 lines\n2017-01-12 01:40:20,529 INFO  [pool-1-thread-1] [i.g.c.s.LogFileReader] Second pass\n2017-01-12 01:40:21,071 INFO  [pool-1-thread-1] [i.g.c.s.LogFileReader] Second pass: read 16001 lines\nParsing log file(s) done\nGenerating reports...\n\n================================================================================\n---- Global Information --------------------------------------------------------\n> request count                                       7950 (OK=7900   KO=50    )\n> min response time                                      0 (OK=0      KO=0     )\n> max response time                                   1509 (OK=1509   KO=5     )\n> mean response time                                    41 (OK=42     KO=1     )\n> std deviation                                        159 (OK=159    KO=1     )\n> response time 50th percentile                          1 (OK=1      KO=1     )\n> response time 75th percentile                          5 (OK=5      KO=2     )\n> response time 95th percentile                        239 (OK=241    KO=3     )\n> response time 99th percentile                        987 (OK=988    KO=5     )\n> mean requests/sec                                378.571 (OK=376.19 KO=2.381 )\n---- Response Time Distribution ------------------------------------------------\n> t < 800 ms                                          7775 ( 98%)\n> 800 ms < t < 1200 ms                                  90 (  1%)\n> t > 1200 ms                                           35 (  0%)\n> failed                                                50 (  1%)\n---- Errors --------------------------------------------------------------------\n> Failed to open a socket.                                           50 (100.0%)\n================================================================================\n\nReports generated in 1s.\nPlease open the following file: /root/gatling-pcp/target/gatling/connectionsv1-1484185198954/index.html\n[info] Simulation ConnectionsV1 successful.\n[info] Simulation(s) execution ended.\n[success] Total time: 31 s, completed Jan 12, 2017 1:40:21 AM\n{code}\n\n{code:title=PCPv2}\n$ sbt\n> gatling:testOnly ConnectionsV2\n...\nSimulation ConnectionsV2 completed in 20 seconds\nParsing log file(s)...\n2017-01-12 01:42:01,597 INFO  [pool-1-thread-1] [i.g.c.s.LogFileReader] Collected ArrayBuffer(/root/gatling-pcp/target/gatling/connectionsv2-1484185300294/simulation.log) from connectionsv2-1484185300294\n2017-01-12 01:42:01,621 INFO  [pool-1-thread-1] [i.g.c.s.LogFileReader] First pass\n2017-01-12 01:42:01,729 INFO  [pool-1-thread-1] [i.g.c.s.LogFileReader] First pass done: read 12001 lines\n2017-01-12 01:42:01,743 INFO  [pool-1-thread-1] [i.g.c.s.LogFileReader] Second pass\n2017-01-12 01:42:02,023 INFO  [pool-1-thread-1] [i.g.c.s.LogFileReader] Second pass: read 12001 lines\nParsing log file(s) done\nGenerating reports...\n\n================================================================================\n---- Global Information --------------------------------------------------------\n> request count                                       4000 (OK=3950   KO=50    )\n> min response time                                      0 (OK=2      KO=0     )\n> max response time                                   1022 (OK=1022   KO=4     )\n> mean response time                                    46 (OK=46     KO=1     )\n> std deviation                                        166 (OK=167    KO=1     )\n> response time 50th percentile                          5 (OK=5      KO=1     )\n> response time 75th percentile                          6 (OK=6      KO=1     )\n> response time 95th percentile                        338 (OK=346    KO=2     )\n> response time 99th percentile                       1006 (OK=1006   KO=3     )\n> mean requests/sec                                190.476 (OK=188.095 KO=2.381 )\n---- Response Time Distribution ------------------------------------------------\n> t < 800 ms                                          3873 ( 97%)\n> 800 ms < t < 1200 ms                                  77 (  2%)\n> t > 1200 ms                                            0 (  0%)\n> failed                                                50 (  1%)\n---- Errors --------------------------------------------------------------------\n> Failed to open a socket.                                           50 (100.0%)\n================================================================================\n\nReports generated in 0s.\nPlease open the following file: /root/gatling-pcp/target/gatling/connectionsv2-1484185300294/index.html\n[info] Simulation ConnectionsV2 successful.\n[info] Simulation(s) execution ended.\n[success] Total time: 31 s, completed Jan 12, 2017 1:42:02 AM\n{code}", "created": "2017-01-11T18:24:00.000000"}], "components": ["cpp-pcp-client", "pcp-broker"], "created": "2017-01-10T20:09:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Notes documented in this ticket, and a set of tests to use to reproduce the results."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4b9ea87d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-399"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hymm2v:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_137636_*|*_3_*:*_1_*:*_11880639_*|*_10009_*:*_1_*:*_75454391_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_69187724"}], "description": "Evaluate the performance effect: memory used, rate of connections, message throughput.", "epicLinkSummary": "PCP Version 2 Protocol", "estimate": "PT0S", "externalId": "31654", "fixedVersions": [], "id": "31654", "issueType": "Story", "key": "PCP-683", "labels": [], "originalEstimate": "PT0S", "parent": "31882", "parentSummary": "PCP Version 2 Protocol", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Done", "resolutionDate": "2017-01-12T15:40:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Evaluate performance impact of PCPv2", "timeSpent": "PT0S", "updated": "2017-01-12T15:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "attachments": [], "comments": [], "components": ["pcp-broker"], "created": "2017-01-05T09:34:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Configure pcp-broker to connect to a simple websocket server and demonstrate that it can send/receive PCP messages. Demonstrate that messages from that server to the pcp-broker are restricted via authorization rules."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@67443d96"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hymcd3:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_16121_*|*_1_*:*_1_*:*_1038887131_*|*_10007_*:*_1_*:*_386062231_*|*_3_*:*_1_*:*_635927203_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_703659882_*|*_10005_*:*_1_*:*_693314839"}], "description": "Add the ability to configure pcp-broker to connect to controllers from a configured list of wss URIs. The broker should enforce authorization rules on those controllers so they can be configured to send PXP requests, inventory requests, and error messages (but not responses).", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31653", "fixedVersions": ["pcp-broker 1.1.0"], "id": "31653", "issueType": "New Feature", "key": "PCP-681", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Done", "resolutionDate": "2017-02-14T10:05:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add outgoing connection to controllers to pcp-broker", "timeSpent": "PT0S", "updated": "2017-02-14T10:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Ran into one area this doesn't work cleanly. The client type still needs to be explicitly appended to the URI, and is ignored as an argument to the Connector. The Connector should instead be appending the client type argument to each broker URI before passing to the Connection object.\n\nA change here shouldn't affect pxp-agent's implementation, or the testing setup in PCP-661 (since both rely on the assumption that the default type is {{agent}}).", "created": "2017-01-11T17:49:00.000000"}], "components": ["cpp-pcp-client"], "created": "2017-01-03T10:20:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@182255ff"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-399"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzb62v:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Developer library, will be documented in repo. User-facing changes will be documented in PCP-647."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "5.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_25916464_*|*_1_*:*_1_*:*_94010_*|*_10007_*:*_2_*:*_650301478_*|*_3_*:*_2_*:*_112178937_*|*_10009_*:*_1_*:*_45747_*|*_5_*:*_2_*:*_1790095227_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2567080"}], "description": "Implement a PCP v2 API in cpp-pcp-client while maintaining the v1 API.\n\nPCP version 2 is [described in pcp-specifications|https://github.com/puppetlabs/pcp-specifications/tree/master/pcp/versions/2.0].\n\nChanges needed versus the PCP v1 implementation of cpp-pcp-client:\n- Stop using session association. Append the client type to the server URI instead.\n- Drop message expiration\n- Drop destination report\n- Drop the version byte\n- Change targets to target, allow only a single target without wildcards\n- Switch from binary to text messages\n- Stop using the debug chunk\n- Move the data chunk to a data field\n(It might be better to think about this as just a new set of message types.)", "epicLinkSummary": "PCP Version 2 Protocol", "estimate": "PT0S", "externalId": "32213", "fixedVersions": ["cpp-pcp-client 1.4.0"], "id": "32213", "issueType": "New Feature", "key": "PCP-679", "labels": [], "originalEstimate": "PT0S", "parent": "31882", "parentSummary": "PCP Version 2 Protocol", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-02-02T07:20:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Implement PCP version 2 in cpp-pcp-client", "timeSpent": "PT0S", "updated": "2017-02-02T07:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:5f73e620-a5f5-44a8-a863-f1e0061b987a", "body": "Updated Summary: line to reflect additional failing platforms for this test:\n\n* [AIX 5.3|https://jenkins.puppetlabs.com/view/puppet-agent/view/manual/view/master/job/platform_puppet-agent_intn-van-sys_suite-manual-pxp-agent-master/23/SLAVE_LABEL=beaker,TEST_TARGET=aix-53-power/]\n* [AIX 6.1|https://jenkins.puppetlabs.com/view/puppet-agent/view/manual/view/master/job/platform_puppet-agent_intn-van-sys_suite-manual-pxp-agent-master/23/SLAVE_LABEL=beaker,TEST_TARGET=aix-61-power/]\n* [AIX 7.1|https://jenkins.puppetlabs.com/view/puppet-agent/view/manual/view/master/job/platform_puppet-agent_intn-van-sys_suite-manual-pxp-agent-master/23/SLAVE_LABEL=beaker,TEST_TARGET=aix-71-power/]", "created": "2016-12-14T09:04:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Looks like the service is failing to start, looking into why.", "created": "2016-12-14T09:40:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Has this test ever passed?", "created": "2016-12-14T09:51:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Most likely guess: however we use logging in pxp-agent isn't working on AIX. Not sure why. {{truss}} is going to be a useful tool for debugging.", "created": "2016-12-14T10:05:00.000000"}, {"author": "557058:5f73e620-a5f5-44a8-a863-f1e0061b987a", "body": "Searching for the last passing release from:\n* -puppet-agent-1.7.0-\n* -puppet-agent-1.7.1-\n* -puppet-agent 1.8.0-\n* -puppet-agent 1.8.1-\n* -puppet-agent 1.8.2-\n", "created": "2016-12-15T13:18:00.000000"}, {"author": "557058:5f73e620-a5f5-44a8-a863-f1e0061b987a", "body": "FTR, this is the _only_ test that prevents a fully green CI run for AIX. We are *this* close...", "created": "2016-12-22T09:24:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I think I have a solution for this. Looks like a piece of Boost.Log we rely on behaves differently on AIX. I'll open a LTH ticket to address that issue.", "created": "2017-02-21T18:52:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Currently blocked on getting the fix into Leatherman and a release of Leatherman into puppet-agent.", "created": "2017-02-22T17:32:00.000000"}], "components": ["pxp-agent"], "created": "2016-12-13T17:38:00.000000", "creator": "557058:5f73e620-a5f5-44a8-a863-f1e0061b987a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3ad756e5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hymbev:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "pxp-agent on AIX will now log to the logfile."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Dec/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_252520825_*|*_1_*:*_1_*:*_58561341_*|*_10007_*:*_1_*:*_15218410_*|*_3_*:*_1_*:*_77232189_*|*_5_*:*_1_*:*_242818456_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_174739001_*|*_10006_*:*_1_*:*_2348970790_*|*_10005_*:*_1_*:*_3631692416"}], "description": "The test fails thus:\n{code}\nExpected text 'failed to load private key' did not appear in file /var/log/puppetlabs/pxp-agent/pxp-agent.log.\nExpected /failed\\ to\\ load\\ private\\ key/ to match # encoding: US-ASCII\n\"\".\n{code}\nSee, for example, https://jenkins.puppetlabs.com/user/kurt.wall/my-views/view/puppet-agent%20master%20Manual%20Pipeline/job/platform_puppet-agent_intn-van-sys_suite-manual-pxp-agent-master/SLAVE_LABEL=beaker,TEST_TARGET=aix-61-power/22/ or https://jenkins.puppetlabs.com/user/kurt.wall/my-views/view/puppet-agent%20master%20Manual%20Pipeline/job/platform_puppet-agent_intn-van-sys_suite-manual-pxp-agent-master/SLAVE_LABEL=beaker,TEST_TARGET=aix-53-power/22/\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31720", "fixedVersions": ["pxp-agent 1.4.1"], "id": "31720", "issueType": "Bug", "key": "PCP-677", "labels": ["CI_Blocker"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:5f73e620-a5f5-44a8-a863-f1e0061b987a", "resolution": "Fixed", "resolutionDate": "2017-02-27T15:33:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent test invalid_ssl_config.rb fails on AIX", "timeSpent": "PT0S", "updated": "2017-03-02T11:00:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This is a task, unless it doesn't ship in pxp-agent 1.4.0 at which point it becomes a bug.", "created": "2017-01-13T10:30:00.000000"}], "components": ["pxp-agent"], "created": "2016-12-13T12:43:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The ping action should work with PCP v2."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3eedf674"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-399"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hymm2f:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Essentially a bug fix to make ping compatible with PCP version 2, which wasn't an issue in prior releases."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_11070940_*|*_1_*:*_1_*:*_129744_*|*_10007_*:*_1_*:*_338247648_*|*_5_*:*_1_*:*_1701366949_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2336230273"}], "description": "With PCP v2 we remove debug chunks. Update the ping action to not require them.", "epicLinkSummary": "PCP Version 2 Protocol", "estimate": "PT0S", "externalId": "32299", "fixedVersions": ["pxp-agent 1.4.0"], "id": "32299", "issueType": "Task", "key": "PCP-676", "labels": [], "originalEstimate": "PT0S", "parent": "31882", "parentSummary": "PCP Version 2 Protocol", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-01-13T14:44:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Remove ping dependency on debug chunks", "timeSpent": "PT0S", "updated": "2017-02-02T07:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:669d4655-0c85-469a-a11c-e5290cf2955d", "body": "Should an addition to scooter be made to scooter to use this endpoint in acceptance tests?", "created": "2016-12-09T16:14:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "That might be reasonable. I suppose it'd make sense for the endpoint to be configurable in a PE install so we can use it for testing there as well. It should definitely be disabled by default.", "created": "2016-12-09T16:20:00.000000"}], "components": ["pcp-broker"], "created": "2016-12-09T15:42:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "A testing endpoint is enabled via {{lein tk --with-profile test-support}} that can be curled to query inventory and send messages (and receive a response)."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@448da5ad"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzbtwn:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "0.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Dec/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_2931803321_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_4049585702"}], "description": "We tentatively plan to only allow agents to connect to a PCP v2 broker; requests will be initiated from in-process or a dispatcher the broker connects to. In that environment we can no longer use ruby-pcp-client to test pxp-agent.\n\nAdd a profile to pcp-broker that enables a testing endpoint that can be used to get inventory and send messages. We can use it to trigger test scenarios with pxp-agent by {{curl}}-ing that endpoint.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31652", "fixedVersions": [], "id": "31652", "issueType": "Task", "key": "PCP-675", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Won't Do", "resolutionDate": "2017-02-28T10:58:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add acceptance test helpers to pcp-broker", "timeSpent": "PT0S", "updated": "2017-04-11T10:19:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "attachments": [], "comments": [], "components": [], "created": "2016-12-09T11:24:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@47f22c6e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzdkhb:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_6877323_*|*_10007_*:*_1_*:*_58549798_*|*_3_*:*_1_*:*_118694_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_21137384_*|*_10005_*:*_1_*:*_12430783860"}], "description": "Update the ruby-pcp-client README to note that it only supports PCP v1, and will not be updated in the future beyond necessary bug fixes for testing other components.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31970", "fixedVersions": [], "id": "31970", "issueType": "Task", "key": "PCP-674", "labels": ["maintenance"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Done", "resolutionDate": "2017-05-03T09:28:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Mark ruby-pcp-client unmaintained, only supports PCP v1", "timeSpent": "PT0S", "updated": "2017-05-03T09:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I'm not sure how best to expose when clients are responding slowly. The most straight-forward seems average and standard deviation of ping intervals. That doesn't expose node names, and should identify systemic problems. Providing a list of specific nodes seems unnecessary, as if they have problems that aren't systemic they'll probably timeout eventually.", "created": "2016-12-08T16:24:00.000000"}, {"author": "557058:adac4e58-01ac-4fce-8be9-94131c26c73d", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] is this still needed?", "created": "2017-10-16T15:42:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I think this is already sufficient at {{/mbeans/default%3Aname%3Dpuppetlabs.pcp.connections}}, marking it done.", "created": "2017-10-16T16:15:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Number of active connections is probably the most useful and already present. Closing as we don't have current plans to add any other metrics.", "created": "2017-10-16T16:17:00.000000"}], "components": ["pcp-broker"], "created": "2016-12-08T16:11:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4e61c313"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-635"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzb80n:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Oct/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_834701_*|*_6_*:*_2_*:*_106411_*|*_10005_*:*_1_*:*_26952631027"}], "description": "Add number of active connections and average age of ping attempts (not sure how feasible that is) to metrics and status endpoints.", "epicLinkSummary": "Integrate pcp-broker with puppetserver", "estimate": "PT0S", "externalId": "31719", "fixedVersions": [], "id": "31719", "issueType": "Improvement", "key": "PCP-673", "labels": [], "originalEstimate": "PT0S", "parent": "31641", "parentSummary": "Integrate pcp-broker with puppetserver", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Won't Do", "resolutionDate": "2017-10-16T16:17:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Enhance broker metrics", "timeSpent": "PT0S", "updated": "2017-10-16T16:17:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Planned methodology:\n# select a number of agents to test (using [puppetlabs/gatling-pcp#pcpv2|https://github.com/puppetlabs/gatling-pcp/tree/pcpv2])\n# set {{-Xmx}} and {{ulimit -n}} to a reasonable number and run gatling tests\n# repeatedly lower {{-Xmx}} or {{ulimit -n}} and rerun gatling tests until significant performance impact or connections are denied\n# repeat 2-3 more times with different numbers of agents to get a growth curve", "created": "2017-01-06T15:37:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "All tests performed on CentOS 7 using openjdk 1.8.0_91. fd tests were re-run when results seemed off (sometimes they'd be slow immediately after startup). 100 connections per second was chosen as a number the broker can easily handle without falling behind.\n\n{code}\n500 agents over 5 seconds\n(1200fd)\n-Xmx82m: 5s, 0 failed\n-Xmx80m: 6s, 0 failed\n-Xmx78m: 18s, 76 failed\n\n(-Xmx82m)\n700fd: 5s (0 failed)\n600fd: Too many open files (63 failed)\n{code}\n\n{code}\n1000 agents over 10 seconds\n(1024fd?)\n-Xmx104m: 10s, 0 failed\n-Xmx100m: 11s, 0 failed\n-Xmx98m: 20s, 172 failed\n-Xmx64m: \"java.lang.OutOfMemoryError: GC overhead limit exceeded\"\n\n(-Xmx104m)\n1200fd: 0 failed\n1100fd: Too many open files (63 failed)\n1024fd: Too many open files (139 failed)? This worked before, I suspect the 1024 from before was a soft default limit\n800fd: Too many open files\n100fd: failed to start\n{code}\n\n{code}\n2000 agents over 20 seconds\n(2400fd)\n-Xmx138m: 20s, 0 failed\n-Xmx136m: 31s, 294 failed\n5000 agents over 50 seconds\n\n(-Xmx136m)\n2200fd: 0 failed\n2100fd: Too many open files\n{code}\n\n{code}\n5000 agents over 50 seconds\n-Xmx260m, 5200fd: 53s, 0 failed\n-Xmx255m, 5200fd: 103s, 657 failed\n-Xmx260m, 5100fd: Too many open files (428 failed)\n{code}\n\nResults: 40kb and 1fd per connection, with baseline requirement of 60mb and ~200fd.", "created": "2017-01-06T17:38:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "For reference I set the JVM options by adding {{:jvm-opts \\[\"-Xmx1g\"\\]}} to the {{defproject}} arguments in {{project.clj}} (1g being an example setting).", "created": "2017-01-11T17:35:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "It would be useful to document this someplace user-facing. [~accountid:557058:5e2d4e96-5ea8-42e3-9179-a3afcdccef2f] it should probably be folded into https://docs.puppet.com/pe/latest/config_orchestration.html. Should that be a new ticket?", "created": "2017-01-18T16:36:00.000000"}, {"author": "557058:5e2d4e96-5ea8-42e3-9179-a3afcdccef2f", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e], sure. Please create a separate ticket (linked to this one) with the relevant information for the docs.", "created": "2017-01-18T16:40:00.000000"}], "components": ["DOCS", "pcp-broker"], "created": "2016-12-08T16:09:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Documentation in pcp-broker showing how to calculate resource requirements for the broker based on number of expected connections, in terms of JVM memory and open file descriptors."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@45c1b807"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-635"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzb62f:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "18/Jan/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_14286_*|*_10007_*:*_1_*:*_1032448255_*|*_3_*:*_1_*:*_18814669_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2492321728"}], "description": "To improve managing PCP, we\u2019d like to document expected resource consumption (number of threads, memory growth, and file descriptor requirements).\n\nDocumentation should be added to the pcp-broker repo.", "epicLinkSummary": "Integrate pcp-broker with puppetserver", "estimate": "PT0S", "externalId": "31640", "fixedVersions": [], "id": "31640", "issueType": "Task", "key": "PCP-672", "labels": [], "originalEstimate": "PT0S", "parent": "31641", "parentSummary": "Integrate pcp-broker with puppetserver", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-01-18T16:29:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Measure and document broker resource consumption per connection", "timeSpent": "PT0S", "updated": "2017-01-18T17:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "623c0dfe50bb2b0070b6b0b3", "body": "https://github.com/puppetlabs/puppet-agent/pull/923", "created": "2016-12-07T05:05:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Likely the machine is running out of memory. Any chance you can allocate more?", "created": "2016-12-08T11:29:00.000000"}, {"author": "623c0dfe50bb2b0070b6b0b3", "body": "Will try that of course, currently running on 2GB VM. I was thinking it was race condtion and slow vs fast machine but for sure memory could be it. Did not notice any OOMs will try\nand check ulimits also.", "created": "2016-12-12T07:10:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "We run with {{make -j2}} regularly in a number of environments without running into compiler crashes. Race conditions between components in the build process tend to result in errors about missing definitions or symbols (depending on the thing being built)", "created": "2016-12-12T10:01:00.000000"}], "components": [], "created": "2016-12-07T05:00:00.000000", "creator": "623c0dfe50bb2b0070b6b0b3", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5b3b6082"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Needs Assessment"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzal0n:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Dec/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_7304268023_*|*_6_*:*_1_*:*_0"}], "description": "I fully appreciate this avoids a real problem rather than\na fix.\n\nUsing myown build of pl-gcc-4.8.2-9.el7.x86_64 on CentOS7\nmy compile of pl-cpp-client master =>\n01015c0c1baa4f1df8cb6cfe876ed78213a34680\nreferenced from puppet-agent 1.8.2 always failed\nas below in the same place.\n\nReducing threads to 1 and it built okay.\n\n{quote}\n[ 50%] Building CXX object\nlib/CMakeFiles/libcpp-pcp-client.dir/src/connector/connection.cc.o\ncd /var/tmp/tmp.iytw5I03GO/cpp-pcp-client/lib &&\n/opt/pl-build-tools/bin/g++   -DBOOST_LOG_WITHOUT_WCHAR_T\n-DBOOST_SYSTEM_NO_DEPRECATED\n-DCPP_PCP_CLIENT_LOGGING_PREFIX=\\\"puppetlabs.cpp_pcp_client\\\"\n-DLEATHERMAN_LOGGING_LINE_NUMBERS -DLEATHERMAN_USE_LOCALES\n-DOPENSSL_NO_SSL2 -DOPENSSL_NO_SSL3\n-DPROJECT_DIR=\\\"/var/tmp/tmp.iytw5I03GO/cpp-pcp-client\\\"\n-DPROJECT_NAME=\\\"cpp-pcp-client\\\" -Dlibcpp_pcp_client_EXPORTS -fPIC\n-pthread -fPIC -pthread  -fPIC -pthread   -Wno-maybe-uninitialized\n-std=c++11 -Wall -Werror -Wno-unused-parameter\n-Wno-unused-local-typedefs -Wno-unknown-pragmas\n-Wno-missing-field-initializers -Wextra -Wno-deprecated-declarations\n-Wno-reorder -Wno-sign-compare -O3 -DNDEBUG -fPIC\n-fvisibility-inlines-hidden\n-I/var/tmp/tmp.iytw5I03GO/cpp-pcp-client/generated\n-I/var/tmp/tmp.iytw5I03GO/cpp-pcp-client/lib/inc\n-I/var/tmp/tmp.iytw5I03GO/cpp-pcp-client/src/valijson/include\n-I/var/tmp/tmp.iytw5I03GO/cpp-pcp-client/src/websocketpp\n-I/var/tmp/tmp.iytw5I03GO/cpp-pcp-client/../vendor/nowide/include\n-I/opt/pl-build-tools/include -I/opt/puppetlabs/puppet/include\n-I/opt/puppetlabs/puppet/include/leatherman/vendor    -o\nCMakeFiles/libcpp-pcp-client.dir/src/connector/connection.cc.o -c\n/var/tmp/tmp.iytw5I03GO/cpp-pcp-client/lib/src/connector/connection.cc\n/opt/pl-build-tools/bin/cmake -E cmake_progress_report\n/var/tmp/tmp.iytw5I03GO/cpp-pcp-client/CMakeFiles 29\n[ 52%] Building CXX object\nlib/tests/CMakeFiles/pcp-chunks.dir/__/src/validator/validator.cc.o\ncd /var/tmp/tmp.iytw5I03GO/cpp-pcp-client/lib/tests &&\n/opt/pl-build-tools/bin/g++   -DBOOST_LOG_WITHOUT_WCHAR_T\n-DBOOST_SYSTEM_NO_DEPRECATED\n-DCPP_PCP_CLIENT_LOGGING_PREFIX=\\\"puppetlabs.cpp_pcp_client\\\"\n-DLEATHERMAN_LOGGING_LINE_NUMBERS -DLEATHERMAN_USE_LOCALES\n-DOPENSSL_NO_SSL2 -DOPENSSL_NO_SSL3\n-DPROJECT_DIR=\\\"/var/tmp/tmp.iytw5I03GO/cpp-pcp-client\\\"\n-DPROJECT_NAME=\\\"cpp-pcp-client\\\" -Dlibcpp_pcp_client_EXPORTS\n-Dpcp_chunks_EXPORTS -fPIC -pthread -fPIC -pthread  -fPIC -pthread\n-Wno-maybe-uninitialized -std=c++11 -Wall -Werror -Wno-unused-parameter\n-Wno-unused-local-typedefs -Wno-unknown-pragmas\n-Wno-missing-field-initializers -Wextra -Wno-deprecated-declarations\n-Wno-reorder -Wno-sign-compare -O3 -DNDEBUG -fPIC\n-I/var/tmp/tmp.iytw5I03GO/cpp-pcp-client/generated\n-I/var/tmp/tmp.iytw5I03GO/cpp-pcp-client/lib/inc\n-I/var/tmp/tmp.iytw5I03GO/cpp-pcp-client/src/valijson/include\n-I/var/tmp/tmp.iytw5I03GO/cpp-pcp-client/src/websocketpp\n-I/var/tmp/tmp.iytw5I03GO/cpp-pcp-client/../vendor/nowide/include\n-I/var/tmp/tmp.iytw5I03GO/cpp-pcp-client/lib/tests/..\n-I/var/tmp/tmp.iytw5I03GO/cpp-pcp-client/lib/tests/../src\n-I/opt/pl-build-tools/include -I/opt/puppetlabs/puppet/include\n-I/opt/puppetlabs/puppet/include/leatherman/vendor    -o\nCMakeFiles/pcp-chunks.dir/__/src/validator/validator.cc.o -c\n/var/tmp/tmp.iytw5I03GO/cpp-pcp-client/lib/src/validator/validator.cc\ng++: internal compiler error: Killed (program cc1plus)\nPlease submit a full bug report,\nwith preprocessed source if appropriate.\nSee <http://gcc.gnu.org/bugs.html> for instructions.\n{quote}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31927", "fixedVersions": [], "id": "31927", "issueType": "Bug", "key": "PCP-671", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "623c0dfe50bb2b0070b6b0b3", "resolution": "Cannot Reproduce", "resolutionDate": "2017-03-01T17:57:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "cpp-pcp-client compile fails with make -j 2", "timeSpent": "PT0S", "updated": "2017-03-01T17:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Design work on PCP at scale is leading towards only sending PXP requests via an in-process API with pcp-broker (or something pcp-broker connects to). As such, ruby-pcp-client no longer has a use, so we don't need to bother updating it.", "created": "2016-12-09T11:09:00.000000"}], "components": ["ruby-pcp-client"], "created": "2016-11-16T10:32:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@592accd9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-399"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hymjjz:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_10512_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1988738979_*|*_10005_*:*_1_*:*_667374"}], "description": "Needed for testing, as a v2-enabled pcp-broker is not expected to support inventory requests over PCP v1.\n\nUpdate ruby-pcp-client to support PCP version 2, [as described in pcp-specifications|https://github.com/puppetlabs/pcp-specifications/tree/master/pcp/versions/2.0]. Backwards compatibility is not needed.\n\nChanges needed:\n- Stop using session association. Append the client type to the server URI instead.\n- Drop message expiration\n- Drop destination report\n- Drop the version byte\n- Change targets to target, allow only a single target without wildcards\n- Switch from binary to text messages\n- Stop using the debug chunk\n- Move the data chunk to a data field", "epicLinkSummary": "PCP Version 2 Protocol", "estimate": "PT0S", "externalId": "31650", "fixedVersions": ["ruby-pcp-client 1.0.0"], "id": "31650", "issueType": "Task", "key": "PCP-666", "labels": [], "originalEstimate": "PT0S", "parent": "31882", "parentSummary": "PCP Version 2 Protocol", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Won't Fix", "resolutionDate": "2016-12-09T11:09:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Implement PCP version 2 in ruby-pcp-client", "timeSpent": "PT0S", "updated": "2016-12-09T15:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2016-11-16T09:20:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@74e4d7e3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hza5fb:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "07/Dec/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1213564946_*|*_10009_*:*_1_*:*_1177651_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_425920314_*|*_10005_*:*_1_*:*_195920369"}], "description": "In the last few days, we have been seeing a lot of test failures on Windows 10 which are semi-transient in that each run produces a slightly different set of failures, but at least one thing will fail every run. Most of the error messages concern losing ssh connection, machines shutting down, or the connection being \"reset by peer\". Here is a sample from this morning on two pipelines:\n\nFrom \n{code}\nHost 'qt13hmzoad03v1p.delivery.puppetlabs.net' exited with 1 running:\n cmd.exe /c puppet resource service pxp-agent ensure=stopped\nLast 10 lines of output were:\n\t[mNotice: /Service[pxp-agent]/ensure: ensure changed 'running' to 'stopped'[0m\n\t[1;31mError: Could not run: Cannot get status of pxp-agent, error was: A system shutdown is in progress. - OpenSCManager: A system shutdown is in progress.\n\tWrapped exception:\n\tA system shutdown is in progress. - OpenSCManager: A system shutdown is in progress.[0m\n{code}\n\n{code}\n* Send an rpc_blocking_request to all agents\n      RuntimeError: Exception occurred when trying to run Puppet on all agents: Didn't receive all PCP responses when requesting pxp-module-puppet run on [\"pcp://ov8wq2c4rf5amq5.delivery.puppetlabs.net/agent\"]. Responses received were: {}\n{code}\n\n{code}\nqt13hmzoad03v1p.delivery.puppetlabs.net (windows10ent-32-1) 03:49:09$ cmd.exe /c puppet resource service pxp-agent ensure=stopped\n            Warning: ssh channel on windows10ent-32-1 received exception post command execution Errno::ECONNRESET - Connection reset by peer - recvfrom(2)\n            Warning: Attemped ssh.close, (caught Net::SSH::Disconnect - connection closed by remote host).\n            ssh connection to windows10ent-32-1 has been terminated\n{code}\n\n{code}\n  eghacb3o3r2psxu.delivery.puppetlabs.net (windows10ent-32-1) 23:41:48$ cmd.exe /c puppet resource service pxp-agent ensure=stopped\n      Warning: ssh channel on windows10ent-32-1 received exception post command execution Net::SSH::Exception - FAILED: to execute command on a new channel on windows10ent-32-1\n      ssh connection to windows10ent-32-1 has been terminated\n{code}\n\nSee https://jenkins.puppetlabs.com/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/59/testReport/ and https://jenkins.puppetlabs.com/view/puppet-agent%20suite%20pipelines/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-1.8.1-release/lastCompletedBuild/testReport/ for the jobs these came from.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31778", "fixedVersions": [], "id": "31778", "issueType": "Bug", "key": "PCP-665", "labels": ["maintenance", "transient"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2016-12-07T15:29:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Windows 10 tests fail frequently but inconsistently", "timeSpent": "PT0S", "updated": "2016-12-07T15:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This problem is closely tied to what the PCP scale topology looks like, so moved it to that epic.", "created": "2016-12-09T15:52:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Don't have plans to do at this time.", "created": "2017-02-28T11:00:00.000000"}], "components": [], "created": "2016-11-15T19:30:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3a41fe67"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzbtw7:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_377074_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_9040965103"}], "description": "Rules are hard-coded to reduce chances of tk-auth configuration related security issues. Implementing it essentially means restricting endpoints to agent and controller, and rejecting messages to those endpoints that shouldn't come from that client type.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32211", "fixedVersions": [], "id": "32211", "issueType": "Bug", "key": "PCP-664", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Won't Do", "resolutionDate": "2017-02-28T11:00:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Hard-code authorization rules in pcp-broker to PXP use cases", "timeSpent": "PT0S", "updated": "2017-02-28T11:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2016-11-15T17:05:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@81113bf"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-399"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hymm2n:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Testing change."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_13478993_*|*_1_*:*_1_*:*_618284_*|*_10007_*:*_1_*:*_230630391_*|*_10009_*:*_1_*:*_23388594_*|*_5_*:*_1_*:*_1785569917_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_4736865591"}], "description": "pxp-agent with PCP v2 talking to the PCP v2 endpoint will be the new default for testing. Update acceptance tests to use the v2 endpoint.", "epicLinkSummary": "PCP Version 2 Protocol", "estimate": "PT0S", "externalId": "31969", "fixedVersions": ["pxp-agent 1.4.0"], "id": "31969", "issueType": "Task", "key": "PCP-661", "labels": [], "originalEstimate": "PT0S", "parent": "31882", "parentSummary": "PCP Version 2 Protocol", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-02-02T07:20:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Update acceptance tests to use PCP v2 endpoint", "timeSpent": "PT0S", "updated": "2017-02-02T07:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [{"author": "557058:669d4655-0c85-469a-a11c-e5290cf2955d", "body": "Should we be running the existing tests in a configuration where we have a v1 broker and a v2 agent?  Or is a single test all we need?", "created": "2016-12-09T16:28:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I'm not sure how exhausting we should be. Most of the acceptance tests aren't explicitly testing the protocol, they're testing things around pxp-module-puppet and pxp-agent as a service. So I think running most acceptance tests would be redundant. I think reproducing https://github.com/puppetlabs/pxp-agent/blob/master/acceptance/tests/pxp_agent_associate.rb would be sufficient.", "created": "2016-12-09T16:32:00.000000"}, {"author": "557058:252602f6-56c9-47a2-a176-2c9c57106330", "body": "Using pe_acceptance_tests?  So, upgrading LTS agents to some abritrary agent version available on yum.puppetlabs.com, apt.puppetlabs.com?\n\nI think you would need:\n\n* a specific jenkins job\n** with parameters for aio-agent-upgrade-version\n* an adjustment to pe_acceptance_tests/lib/puppet_enterprise_acceptance/setup_helpers.rb to allow an upgrade of just agents, not core and to take into account that core ver is not changing, and that agents should match this new aio-agent-upgrade-version, not the master aio version\n\nThat might be it.  Would only work for open source agent platforms, which might be fine.\n\nI'd expect that fiddling about with pe_acceptance_tests and ci-job-configs could take several days to get right for someone familiar with it, and that there would be pipeline fallout for some days after.", "created": "2016-12-13T13:47:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "I merged the pxp-agent test", "created": "2017-01-13T05:19:00.000000"}], "components": ["clj-pcp-client", "cpp-pcp-client", "pxp-agent"], "created": "2016-11-15T17:04:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@a30a2fa"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-399"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hymm33:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Dec/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_18748833_*|*_1_*:*_1_*:*_206678_*|*_10007_*:*_1_*:*_65089180_*|*_3_*:*_1_*:*_6683067_*|*_5_*:*_1_*:*_1716333608_*|*_6_*:*_2_*:*_373652_*|*_10011_*:*_1_*:*_4388_*|*_10006_*:*_2_*:*_141112000_*|*_10005_*:*_1_*:*_4842036672"}], "description": "Add an acceptance test for the pxp-agent supporting PCP v2 (i.e. pxp-agent#master) talking to a PCP v1 endpoint.\n\nNote: this leaves testing that the pcp-broker 1.0 v1 endpoint is correct to other testing (like pcp-broker integration tests and PE system tests).", "epicLinkSummary": "PCP Version 2 Protocol", "estimate": "PT0S", "externalId": "31926", "fixedVersions": ["pxp-agent 1.4.0"], "id": "31926", "issueType": "Task", "key": "PCP-660", "labels": [], "originalEstimate": "PT0S", "parent": "31882", "parentSummary": "PCP Version 2 Protocol", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-02-02T07:20:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add acceptance test for pxp-agent with PCP v2 talking to a PCP v1 broker", "timeSpent": "PT0S", "updated": "2017-02-02T07:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:22d0f8be-5a48-45ef-8078-6e91e5c34720", "attachments": [], "comments": [], "components": [], "created": "2016-11-14T17:50:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5a08b202"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-399"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hymjjr:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_919927_*|*_10007_*:*_1_*:*_322680785_*|*_3_*:*_1_*:*_21178968_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1184934199"}], "description": "Document inventory versioning and inventory updates in the PCP v2 spec at pcp-specifications. It should describe {{inventory_update}} messages, the new flag to request inventory version in {{inventory_request}} messages, and add inventory version to {{inventory_response}} messages.", "epicLinkSummary": "PCP Version 2 Protocol", "estimate": "PT0S", "externalId": "31649", "fixedVersions": [], "id": "31649", "issueType": "Task", "key": "PCP-659", "labels": [], "originalEstimate": "PT0S", "parent": "31882", "parentSummary": "PCP Version 2 Protocol", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Done", "resolutionDate": "2016-12-02T10:46:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Document inventory updates in PCP v2", "timeSpent": "PT0S", "updated": "2016-12-13T12:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [{"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "This is caused by a naive implementation of the string to byte array conversion: https://github.com/puppetlabs/clj-pcp-common/blob/0.5.4/src/puppetlabs/pcp/message.clj#L32-L35\n\nIt needs to be re-implemented as:\n{code:clojure}\n(defn string->bytes\n  \"Returns an array of bytes from a string\"\n  [^String s]\n  (.getBytes s))\n{code}\n\nor even better with an explicit encoding specification.\n", "created": "2016-11-14T09:16:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Tested by pulling puppetlabs master into the snowman test branch\n\n{code}*   4da2f85  (HEAD, snowman) Merge branch 'master' of github.com:puppetlabs/pcp-broker into snowman 11 minutes ago james-stocks{code}\n\nAll _lein test-all_ tests now pass\n{code}Ran 48 tests containing 500 assertions.\n0 failures, 0 errors.{code}", "created": "2016-11-29T03:36:00.000000"}], "components": ["clj-pcp-common", "pcp-broker"], "created": "2016-11-14T09:09:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2afb0d2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyml27:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Nov/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_515526_*|*_1_*:*_1_*:*_169139606_*|*_10007_*:*_1_*:*_1073480619_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_32879829"}], "description": "https://github.com/james-stocks/pcp-broker/tree/snowman contains an attempt to test using pcp-broker when it has the certname broker.\u2603.example.com\n\nIf you run _lein test-all_ then it will fail tests with stack traces like:\n\n{noformat}2016-11-14 16:07:39,024 ERROR [p.p.b.core] Error in deliver-message\njava.lang.IllegalArgumentException: Value out of range for byte: \u2603\n        at clojure.lang.RT.byteCast(RT.java:993) ~[clojure-1.6.0.jar:na]\n        at clojure.core$byte.invoke(core.clj:3219) ~[clojure-1.6.0.jar:na]\n        at clojure.core$map$fn__4245.invoke(core.clj:2559) ~[clojure-1.6.0.jar:na]\n        at clojure.lang.LazySeq.sval(LazySeq.java:40) ~[clojure-1.6.0.jar:na]\n        at clojure.lang.LazySeq.seq(LazySeq.java:49) ~[clojure-1.6.0.jar:na]\n        at clojure.lang.Cons.next(Cons.java:39) ~[clojure-1.6.0.jar:na]\n        at clojure.lang.RT.countFrom(RT.java:540) ~[clojure-1.6.0.jar:na]\n        at clojure.lang.RT.count(RT.java:530) ~[clojure-1.6.0.jar:na]\n        at clojure.lang.Numbers.byte_array(Numbers.java:1256) ~[clojure-1.6.0.jar:na]\n        at puppetlabs.pcp.message$string__GT_bytes.invoke(message.clj:35) ~[na:na]\n        at puppetlabs.pcp.message$eval5732$set_json_debug__5737$fn__5738.invoke(message.clj:114) ~[na:na]\n        at puppetlabs.pcp.message$eval5732$set_json_debug__5737.invoke(message.clj:111) ~[na:na]\n        at puppetlabs.pcp.broker.capsule$eval6085$_encode__6090$fn__6091.invoke(capsule.clj:79) ~[na:na]\n        at puppetlabs.pcp.broker.capsule$eval6085$_encode__6090.invoke(capsule.clj:72) ~[na:na]\n        at puppetlabs.pcp.broker.capsule.Capsule.encode(capsule.clj:38) ~[na:na]\n        at puppetlabs.pcp.broker.core$eval23608$deliver_message__23613$fn__23614$fn__23616.invoke(core.clj:219) ~[na:na]\n        at puppetlabs.pcp.broker.core.proxy$java.lang.Object$Callable$7da976d4.call(Unknown Source) ~[na:na]\n        at com.codahale.metrics.Timer.time(Timer.java:101) ~[metrics-core-3.1.2.jar:3.1.2]\n        at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source) ~[na:na]\n        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_111]\n        at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_111]\n        at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93) ~[clojure-1.6.0.jar:na]\n        at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28) ~[clojure-1.6.0.jar:na]\n        at puppetlabs.pcp.broker.core$eval23608$deliver_message__23613$fn__23614.invoke(core.clj:217) ~[na:na]\n        at puppetlabs.pcp.broker.core$eval23608$deliver_message__23613.invoke(core.clj:202) ~[na:na]{noformat}\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32210", "fixedVersions": ["clj-pcp-common 0.5.5", "pcp-broker 0.8.5"], "id": "32210", "issueType": "Bug", "key": "PCP-658", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-11-29T03:36:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Cannot use \u2603 character in pcp-broker certname", "timeSpent": "PT0S", "updated": "2017-01-06T13:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This doesn't appear to actually be fixed. The test change is working correctly, but Solaris 10 is returning unknown for 20 seconds, so something seems to actually be going wrong on Solaris.\n\nWhen I access the Solaris 10 machine and try to look at pxp-agent.log, the SSH session hangs. There's something really screwed up about that file.", "created": "2016-11-15T12:26:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Ok, on more recent runs I'm able to read the file.\n\nI have a current working theory:\n- The status request comes right after the run starts, which checks whether the process is running.\n- [Checking whether the process is running|https://github.com/puppetlabs/pxp-agent/blob/master/lib/src/util/posix/process.cc#L12-L27] fails for some reason", "created": "2016-11-16T18:05:00.000000"}, {"author": "557058:5f73e620-a5f5-44a8-a863-f1e0061b987a", "body": "Ping. Any progress here?", "created": "2016-11-23T10:11:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "I'm actively working on it. I'm currently trying to reproduce it locally (i.e. local VirtualBox VMs).", "created": "2016-11-23T11:31:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "The bug is 100% reproducible on both Solaris 10 & 11.\nIt goes down to the concept of _contracts_ employed by Solaris and is directly caused by the fix for PCP-308.\nThe problem is that the use of the {{/usr/bin/ctrun}} shim (to run the module action in a separate process contract) makes it the child process of pxp-agent instead of the module action process. The pid of the child process is persisted by the pxp-agent so that the module action result can be reported even when the pxp-agent is restarted. And that's exactly the situation when things break down, here is what happens:\n# pxp-agent starts an action, i.e. creates a child process and runs the module executable through the _ctrun_ shim with appropriate arguments\n# it persists the pid of the child process it just spawned", "created": "2016-11-25T08:07:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "In a discussion with [~accountid:623c0c6f94742a00683e3e63] we've come to a conclusion that the best approach is to re-use the OpenSSH implementation (mentioned in the previous comment) in leatherman.", "created": "2016-11-28T12:16:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "I've created LTH-120 to track the leatherman work. Once that lands, pxp-agent will need to be updated to take advantage of the leatherman changes, that update will be tracked in this ticket.", "created": "2016-11-28T12:37:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:093475a3-6bc8-4a70-8034-ae5a2ea66512] I see that LTH-120 has landed", "created": "2016-12-05T08:43:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "The original implementation of LTH-120 broke facter build on Solaris. So we reverted the promotion of leatherman 0.10.0.\nCurrently the 0.10.1 version of leatherman which should avoid that problem is undergoing testing. Once verified it will be promoted.", "created": "2016-12-05T19:02:00.000000"}, {"author": "557058:96a443bf-a3ab-426b-9442-ce50c9977428", "body": "Approved for inclusion in 2016.4.3 by davis leads on the condition that it works as expected on Solaris. ", "created": "2016-12-06T10:29:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "(y) LGTM", "created": "2016-12-06T15:34:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:093475a3-6bc8-4a70-8034-ae5a2ea66512] should this be assigned to a team and sprint now that it's being actively worked?", "created": "2016-12-07T12:20:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:093475a3-6bc8-4a70-8034-ae5a2ea66512] please provide release notes for this issue, if applicable.", "created": "2016-12-27T10:22:00.000000"}], "components": ["pxp-agent"], "created": "2016-11-11T12:39:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform pxp-agent"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@340ea223"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz8pkf:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "23/Nov/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_908894363_*|*_1_*:*_1_*:*_71138_*|*_10007_*:*_3_*:*_453877132_*|*_3_*:*_3_*:*_818538277_*|*_5_*:*_1_*:*_3105774033_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_574120279"}], "description": "https://jenkins.puppetlabs.com/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/84/SLAVE_LABEL=beaker,TEST_TARGET=solaris10-64a/testReport/junit/(root)/tests_pxp-module-puppet/restart_pxp_agent_during_non_blocking_run_rb/# failed because pxp-agent returned an unknown status. This can happen in normal operation. See PCP-633.\n\n{code}\nPXP run puppet action did not have expected 'success' result.\nExpected: \"success\"\n  Actual: \"unknown\"\n{code}\n\nThis exposed an issue on Solaris where pxp-agent would report \"unknown\" status for an action that completed successfully. The sequence of events under which this occurs are:\n# Start an action\n# Restart pxp-agent\n# Query the status of the action before it has completed\n\nThe status of that action will then be stuck at \"unknown\" status, even after the action completes. If status is not queried until the action completes, the status will correctly return \"success\" (which is why the acceptance test used to pass).", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32108", "fixedVersions": ["pxp-agent 1.2.3", "pxp-agent 1.3.2"], "id": "32108", "issueType": "CI Blocker", "key": "PCP-657", "labels": ["maintenance"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-12-13T10:04:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent acceptance fails when agent returns unknown status", "timeSpent": "PT0S", "updated": "2017-01-18T08:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "In review to give people time to provide more input. Will close after I get a few more nods.", "created": "2016-11-10T09:39:00.000000"}], "components": [], "created": "2016-11-09T11:18:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Updates to pcp-specifications defining our expectations for the evolution of PCP."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@699eda94"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-399"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hymi1b:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2762995_*|*_10007_*:*_2_*:*_151389967_*|*_3_*:*_1_*:*_9390246_*|*_10009_*:*_2_*:*_437042325_*|*_5_*:*_1_*:*_0"}], "description": "Describe the v2 protocol in its entirety as an update to pcp-specifications\n\nRemove session association\nRemove expires field and delayed message delivery\nRemove destination_report\nChange targets to target (taking a single string)\n\nThis is driven by desired changes for PCP-636 and PCP-644. It precedes discussion around how to support compatibility with older implementations.", "epicLinkSummary": "PCP Version 2 Protocol", "estimate": "PT0S", "externalId": "31925", "fixedVersions": [], "id": "31925", "issueType": "Task", "key": "PCP-654", "labels": [], "originalEstimate": "PT0S", "parent": "31882", "parentSummary": "PCP Version 2 Protocol", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-11-16T10:07:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Define PCP v2 protocol", "timeSpent": "PT0S", "updated": "2016-12-09T15:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This is no longer needed, as we expect a service to send inventory requests to incoming connections (not use clj-pcp-client).", "created": "2016-12-08T11:33:00.000000"}], "components": ["clj-pcp-client"], "created": "2016-11-08T17:32:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2ee19440"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hymmdz:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_520442745_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2050020212"}], "description": "Provide an abstraction over inventory_request, inventory_response, and later inventory_update to clj-pcp-client. It should look something like\n\n{{get-connected-clients}}\nSends an inventory_request and unwraps the inventory_response. Returns the version and a list of connected clients.\n\n{{get-connected-clients <callback>}}\nSends an inventory_request that opts-in to subscription updates. Returns the version and a list of connected clients. Any subsequent inventory_update messages will invoke the callback function.\nThe callback function has a signature {{(callback \\[:add|:remove node version\\])}}.\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31646", "fixedVersions": [], "id": "31646", "issueType": "Task", "key": "PCP-653", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Won't Do", "resolutionDate": "2016-12-08T11:33:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add get-connected-clients API to clj-pcp-client", "timeSpent": "PT0S", "updated": "2016-12-14T10:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["clj-pcp-client"], "created": "2016-11-08T17:20:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2d932cb9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hymm27:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Developer library, will be documented in CHANGELOG in repo."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_62066420_*|*_1_*:*_1_*:*_520952596_*|*_10007_*:*_1_*:*_27984165_*|*_3_*:*_1_*:*_508665706_*|*_10009_*:*_1_*:*_33645_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_12248_*|*_10006_*:*_1_*:*_4205975524_*|*_10005_*:*_1_*:*_91388320"}], "description": "Update clj-pcp-client to support PCP version 2, [as described in pcp-specifications|https://github.com/puppetlabs/pcp-specifications/tree/master/pcp/versions/2.0].\n\nWe don't currently need clj-pcp-client to support communication with old brokers, as all components will currently be upgraded as part of a PE upgrade. Therefore we don't aim to maintain backwards compatibility with PCP version 1.\n\nChanges needed (mostly this results in just passing new json blobs):\n- Stop using session association. Append the client type to the server URI instead.\n- Drop message expiration\n- Drop destination report\n- Drop the version byte\n- Change targets to target, allow only a single target without wildcards\n- Switch from binary to text messages\n- Stop using the debug chunk\n- Move the data chunk to a data field\n\nThis, and the changes to pcp-broker, should be sufficient to deprecate clj-pcp-common (confining it to define only PCP v1), as the protocol specification is simplified.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32209", "fixedVersions": ["clj-pcp-client 1.0.0"], "id": "32209", "issueType": "Task", "key": "PCP-652", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Done", "resolutionDate": "2017-01-10T10:04:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Update clj-pcp-client to support PCP version 2", "timeSpent": "PT0S", "updated": "2017-01-10T10:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "I'm pretty sure PXP/PCP gets correctly configured for compiler masters using pe_repo::compiler_master_pool_address.  ", "created": "2019-08-27T14:43:00.000000"}], "components": ["pxp-agent"], "created": "2016-11-08T10:59:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7368a41a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-635"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hym9p3:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/Jan/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_15248_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_88310599006"}], "description": "As part of supporting the direct change workflow, pxp-agent will need to be configured without user intervention once the agent is setup. pxp-agent re-uses Puppet\u2019s SSL certificates, meaning the soonest this can happen is after the first `puppet agent` run against a master.\n\nAdditionally, configuring compile masters in PE is an exercise left up to users. Currently it requires configuring 3 separate settings: Puppet's {{server}} setting, as well as pxp-agent's {{broker-ws-uri}} and {{master-uris}}. This should ideally be one if you're using common configurations (such as PE's default ports for puppetserver and pcp-broker).\n\nUpdate pxp-agent to question puppet to learn its configuration - likely via {{puppet agent --configprint localcacert,hostprivkey,hostcert,server,server_list,masterport}} or reading puppet.conf - if no other configuration is given. pxp-agent requires a server (or server_list) and the location of certificates to initiate a connection with the broker and download tasks.", "epicLinkSummary": "Integrate pcp-broker with puppetserver", "estimate": "PT0S", "externalId": "32208", "fixedVersions": [], "id": "32208", "issueType": "Story", "key": "PCP-651", "labels": [], "originalEstimate": "PT0S", "parent": "31641", "parentSummary": "Integrate pcp-broker with puppetserver", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2019-08-27T14:43:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Simplify pxp-agent configuration", "timeSpent": "PT0S", "updated": "2019-08-27T14:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Should we also pin pxp-agent#stable? That might carry a maintenance burden later for merges. Also, we're going to start changing protocol version in pcp-broker and pxp-agent in a way that needs to be backwards compatible, it would be useful to have some verification that backwards compatibility is maintained.", "created": "2016-11-08T10:31:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "We expect all pcp-broker changes to be backwards compatible with the LTS release. So skipping this, as it'll serve as an early warning if we break compatibility.", "created": "2016-11-09T15:30:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "While pcp-broker changes will be backwards compatible with pxp-agent, they won't be with ruby-pcp-client (used to test pxp-agent). Pin all versions", "created": "2016-12-08T11:05:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] please provide release notes for this issue, if applicable.", "created": "2016-12-27T10:23:00.000000"}], "components": ["pxp-agent"], "created": "2016-11-08T10:29:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6bf603cd"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-635"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hza0cf:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Dec/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_70970485_*|*_1_*:*_1_*:*_15895_*|*_3_*:*_2_*:*_14190797_*|*_5_*:*_1_*:*_3449203364_*|*_6_*:*_2_*:*_2489623258_*|*_10006_*:*_2_*:*_104250590"}], "description": "To prevent updates to pcp-broker affecting existing versions of pxp-agent, pin the LTS/stable/master branch tests to use a tagged version of pcp-broker (0.8.4).", "epicLinkSummary": "Integrate pcp-broker with puppetserver", "estimate": "PT0S", "externalId": "32107", "fixedVersions": ["pxp-agent 1.2.3", "pxp-agent 1.3.2"], "id": "32107", "issueType": "Task", "key": "PCP-650", "labels": [], "originalEstimate": "PT0S", "parent": "31641", "parentSummary": "Integrate pcp-broker with puppetserver", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-12-09T10:40:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Pin pxp-agent#LTS-1.7 acceptance tests to a tagged version of pcp-broker", "timeSpent": "PT0S", "updated": "2017-01-18T08:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "pcp-broker work done as part of PCP-597.", "created": "2016-11-14T11:00:00.000000"}], "components": ["pcp-broker"], "created": "2016-11-07T17:49:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@36db31a4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-635"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2t3b:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_58891789_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_521588226"}], "description": "Switch to using lein parent for clojure components.", "epicLinkSummary": "Integrate pcp-broker with puppetserver", "estimate": "PT0S", "externalId": "32068", "fixedVersions": [], "id": "32068", "issueType": "Task", "key": "PCP-648", "labels": ["maintenance"], "originalEstimate": "PT0S", "parent": "31641", "parentSummary": "Integrate pcp-broker with puppetserver", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-11-14T11:04:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Use lein parent", "timeSpent": "PT0S", "updated": "2016-11-14T11:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Does this need to allow for a list of brokers supporting different versions? I don't think that's an upgrade scenario we need to deal with, if not all brokers are upgraded then you should continue to use PCP v1 until they are.", "created": "2017-01-05T17:14:00.000000"}], "components": ["cpp-pcp-client", "pxp-agent"], "created": "2016-11-07T17:37:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4ecac4f9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-399"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzb62n:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Supports PCP version 2, an update that changes to a simpler text-based protocol that only supports immediate delivery (no message expiration) to a single target. It can be enabled by setting the \"pcp-version\" option to \"2\" and connecting it to a version of pcp-broker supporting PCP v2."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_7890017_*|*_1_*:*_1_*:*_606305687_*|*_10007_*:*_1_*:*_433510835_*|*_3_*:*_1_*:*_5151587_*|*_10009_*:*_1_*:*_1467978_*|*_5_*:*_1_*:*_1872515607_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_4462572336_*|*_10005_*:*_1_*:*_90396328"}], "description": "Implement backwards compatibility in pxp-agent so that it can be configured to communicate with either PCP v1 or v2, as needed for the broker it's configured to connect to. Use the new PCP v2 API from cpp-pcp-client implemented in PCP-679.\n\nUpdate pxp-agent to support PCP version 2, [as described in pcp-specifications|https://github.com/puppetlabs/pcp-specifications/tree/master/pcp/versions/2.0], while being backwards compatible with version 1. Add an option for specifying that the agent is talking to a version 1 end-point, to select between using PCP v1 or v2; it's not sufficient to try to indicate PCP version with the URI, as pcp-brokers can be configured to use arbitrary paths.\n\nThe pxp-agent uses very little of the PCP envelope, so this should be pretty minor changes to support both versions in the action framework.\n\nChanges needed versus the PCP v1 implementation of cpp-pcp-client:\n- Stop using session association. Append the client type to the server URI instead.\n- Drop message expiration\n- Drop destination report\n- Drop the version byte\n- Change targets to target, allow only a single target without wildcards\n- Switch from binary to text messages\n- Stop using the debug chunk\n- Move the data chunk to a data field", "epicLinkSummary": "PCP Version 2 Protocol", "estimate": "PT0S", "externalId": "31777", "fixedVersions": ["pxp-agent 1.4.0"], "id": "31777", "issueType": "Task", "key": "PCP-647", "labels": [], "originalEstimate": "PT0S", "parent": "31882", "parentSummary": "PCP Version 2 Protocol", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-02-02T07:20:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add support for PCP version 2 to pxp-agent", "timeSpent": "PT0S", "updated": "2017-02-02T07:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I think my hope of getting rid of the Connection object may be unattainable. The websocket session is unavailable when the on-close callback is triggered.\n\nUnless we build it into https://github.com/puppetlabs/trapperkeeper-webserver-jetty9/blob/master/src/puppetlabs/trapperkeeper/services/webserver/experimental/jetty9_websockets.clj on creating the connection. Something like https://github.com/puppetlabs/trapperkeeper-webserver-jetty9/compare/extend-websockets.", "created": "2016-12-10T14:09:00.000000"}, {"author": "557058:22d0f8be-5a48-45ef-8078-6e91e5c34720", "body": "[~accountid:623c0c6f94742a00683e3e63] I'm not sure if you're referencing the \"connections\" concurrent hash map that the ticket decibes, or the Connection type itself. The PR that's up right now replaces the two existing maps (uris -> ws), (ws -> connection) with a single map from uris -> connection. The Connection type stays the same, except for the removal of codecs and state. I had started with a uri -> ws map, but needed to switch at some point for some reason -- I don't remember why but I don't think it was related to on-close, and thinking about it a bit more I think I may be able to get rid of the object after all.\n\nI'm also confused about your statement about the callback not having access, since it's used here:\nhttps://github.com/puppetlabs/pcp-broker/blob/master/src/puppetlabs/pcp/broker/core.clj#L570\n\nedit: I guess you're talking about the websocket's session attribute, rather than the adapter. That could be", "created": "2016-12-10T14:57:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Feature creep: we're going to maintain support for all PCP v1 clients in this epic. That means we need to support v1 clients associating with any client type. We also need to support inventory_request/response in a backwards compatible fashion.", "created": "2016-12-13T12:31:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "One bump I've run into: it's not trivial to wrap the websocket handlers in an authorization check. I'll have to dig a little bit to figure out whether we can do authorization on the websocket endpoint, or need to support a special authorization check for on-connect that maps to a mocked path.\n\nI propose a new ticket to improve handling authorization checks during {{on-connect}}.", "created": "2016-12-19T18:04:00.000000"}], "components": ["clj-pcp-common", "pcp-broker", "pxp-agent"], "created": "2016-11-07T17:34:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@16e3b8d9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-399"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hymfvb:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "pcp-broker now supports a PCP v2 protocol with limited backwards compatibility with PCP v1. Agents should work as-is; other clients should update to specify their client type at the end of the connection URI."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "5.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Dec/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_85140857_*|*_1_*:*_2_*:*_170261_*|*_10007_*:*_2_*:*_2131045856_*|*_3_*:*_2_*:*_973868377_*|*_5_*:*_1_*:*_1288961213_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_12875792_*|*_10006_*:*_2_*:*_1788439464_*|*_10005_*:*_1_*:*_90407669"}], "description": "Update pcp-broker [as described in pcp-specifications|https://github.com/puppetlabs/pcp-specifications/tree/master/pcp/versions/2.0]. Expected changes below the line.\n\nImplement sufficient backwards compatibility in pcp-broker to provide a v1-compatible end-point for old pxp-agents to connect to. PCP v1 and v2 are designed to be interoperable, so pcp-broker should convert v1 messages to v2 and v2 messages to v1 as needed for delivery to other clients.\n\nThis update may need to be coordinated with updates to pxp-agent acceptance test changes to use ruby-pcp-client.\n\n----\n\nRemove session association from the broker. A client is expected to connect with a path that includes client type (e.g. {{wss://broker.example.com/pcp/controller}}); if it doesn't include a client type, default to {{agent}} and assume it uses PCP v1 to support old pxp-agent versions (this is easy to verify later from the websocket object).\n\nIf a client sends an associate request, send a canned associate response stating success. This provides a mechanism for new agents to be backward compatible with old brokers; when they send an associate request, they get an associate response and are given the {{agent}} type classification.\n\nMessages from clients using PCP v1 should be converted to the v2 format by dropping expires, dropping destination_report, converting targets to target (and returning an error if targets was multicast), and deserializing the data chunk into the data field (make sure the data is a valid json value). Any messages that need to be delivered to a client using PCP v1 should be converted back by adding an expires field for several seconds in the future (pxp-agent doesn't check it, so the value doesn't really matter), converting target to targets, and moving the data field to the data chunk. In practice, the text handler should only receive PCP v2 messages, and the binary handler should only receive PCP v1 messages.\n\nAdd in_reply_to fields as specified. The current use of in-reply-to fields in pcp-broker doesn't need to be preserved, as it's only used by clj-pxp-puppet. Inventory requests and responses only need to be supported for PCP v2 (note that their data structure changed from PCP v1). Error messages need to be converted from the PCP v2 data format to PCP v1 when sent to PCP v1 clients, and unauthorized messages must not be sent to PCP v1 clients.\n\nThere's no need to implement version errors, as PCP v1 and v2 are compatible versions.\n\nOne goal of this change is to remove maintaining two concurrent hash maps. Having all information to address a client in the websocket connection allows us to get rid of one of them.", "epicLinkSummary": "PCP Version 2 Protocol", "estimate": "PT0S", "externalId": "31638", "fixedVersions": ["pcp-broker 1.0.0"], "id": "31638", "issueType": "Task", "key": "PCP-645", "labels": [], "originalEstimate": "PT0S", "parent": "31882", "parentSummary": "PCP Version 2 Protocol", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Done", "resolutionDate": "2017-01-05T13:13:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Update pcp-broker for PCP version 2", "timeSpent": "PT0S", "updated": "2017-01-20T12:19:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This was merged 14 hours ago. A run of pxp-agent acceptance tests mostly passed (with known transients) more recently. So I believe this has been sufficiently tested.", "created": "2016-11-15T16:56:00.000000"}], "components": ["pcp-broker"], "created": "2016-11-07T16:33:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@11fde38d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hza027:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_503069_*|*_10007_*:*_1_*:*_512201272_*|*_3_*:*_1_*:*_11283684_*|*_10009_*:*_1_*:*_61915047_*|*_5_*:*_1_*:*_5620046717_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_56418_*|*_10006_*:*_1_*:*_168501108"}], "description": "https://github.com/MikaelSmith/pcp-broker/commit/5d9fc3f4b7e5f5c0b3c2338e49a31dcae29c7170 spikes that work.\n\nMessage persistence (and TTLs), multicast, and ActiveMQ are closely linked in how multicast messages are put on an ActiveMQ queue and consumed for delivery. Also, work around this was done and marginally tested previously. Finally, this work is grouped because unit tests around this are going to change dramatically, and I think it'll be easier to re-imagine them than try to update them incrementally.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31644", "fixedVersions": ["pcp-broker 1.0.0"], "id": "31644", "issueType": "Sub-task", "key": "PCP-637", "labels": [], "originalEstimate": "PT0S", "parent": "31538", "parentSummary": "Limit pcp-broker to realtime-only single-target messaging (and remove ActiveMQ)", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-11-16T10:08:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Remove message persistence, multicast, and ActiveMQ", "timeSpent": "PT0S", "updated": "2017-01-20T11:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pcp-broker"], "created": "2016-11-07T16:31:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@58631832"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-635"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2t33:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Deprecation"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Remove message persistence and multicast. Messages are now delivered only if the target client is connected, otherwise an error is sent to the sender. Messages intended for multiple targets must now be sent separately, and an error will be sent to the sender if multiple targets are addressed in a message."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_23163_*|*_10007_*:*_1_*:*_446490697_*|*_3_*:*_1_*:*_76965095_*|*_10009_*:*_1_*:*_61898968_*|*_5_*:*_1_*:*_5620055806_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_56077_*|*_10006_*:*_1_*:*_155395272_*|*_10005_*:*_1_*:*_13746026"}], "description": "Remove message persistence from PCP. Message persistence adds significant complexity to PCP - tracking message expiration/ttl, storing messages so they survive a restart - without much benefit. It adds some durability around connection issues on top of TCP/HTTP. However in practice, we require end-points to deal with undeliverable messages and don't use expirations that significantly differ from TCP delivery timeouts. Message persistence can be safely removed without significantly impacting current use-cases, and should improve the performance characteristics of the broker.\n\nRemove multicast. Multicast - the ability to use wildcards to address multiple recipients - is another feature that adds implementation complexity, and in practice is not used.\n\nBoth of these changes allow removal of the ActiveMQ component from pcp-broker.", "epicLinkSummary": "Integrate pcp-broker with puppetserver", "estimate": "PT0S", "externalId": "31538", "fixedVersions": ["pcp-broker 1.0.0"], "id": "31538", "issueType": "Story", "key": "PCP-636", "labels": [], "originalEstimate": "PT0S", "parent": "31641", "parentSummary": "Integrate pcp-broker with puppetserver", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-11-16T10:08:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Limit pcp-broker to realtime-only single-target messaging (and remove ActiveMQ)", "timeSpent": "PT0S", "updated": "2017-01-20T11:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:971ba3ac-d04a-4e49-98fa-a110b38e2528", "body": "With the change to enable pcp broker with compile masters, what is the recommended procedure to disable the pcp broker?\n\nThere are hiera keys for the MoM to disable orchestration services, but this doesn't turn off the pcp broker on the CMs and therefore can cause open socket errors \n\n", "created": "2017-12-12T05:25:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Released in PE-2018.1 or older.", "created": "2019-10-08T12:22:00.000000"}], "components": ["pcp-broker"], "created": "2016-11-07T16:15:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "pcp-broker is a component of puppetserver (disabled by default) that's been demonstrated to have a minor impact on performance of puppetserver when used together."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@50ae8373"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-5"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "PCP in OSS Puppetserver"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "To Do"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "dark_teal"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzfojj:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Dec/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_87088563_*|*_6_*:*_1_*:*_0_*|*_10010_*:*_1_*:*_91911315100"}], "description": "Enable integrating pcp-broker in puppetserver, so we can optimize deploying pcp-brokers on Compile Masters and simplify PCP setup in open-source deployments.\n\nA few trivial changes are necessary to ship pcp-broker as part of the puppet-server package, documented in PCP-580:\n- Update pcp-broker dependencies\n- Delay reading the certificate until service start. This could also be drop reading the certificate altogether; it\u2019s currently only used for debug hops, which don\u2019t make much sense outside a mesh of brokers.\n- Inherit certificates from puppet-server (this may happen automatically for Jetty, meaning dropping reading the certificate in pcp-broker means no changes are needed).\n- Make pcp-broker a dependency of puppet-server and add the pcp-broker and metrics services.\n- Add configuration for puppetlabs.pcp.broker.pcp_access (logback), the broker webroutes, and metrics.\npxp-agent should be configured to work with broker-on-master after the first agent run  (probably shell out to puppet agent --configprint all)", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31641", "fixedVersions": [], "id": "31641", "issueType": "Epic", "key": "PCP-635", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2019-10-08T12:22:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Integrate pcp-broker with puppetserver", "timeSpent": "PT0S", "updated": "2019-10-08T12:22:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "body": "-It looks like something in your build is trying to use ruby 2.3, but the version of puppet-agent you're running with uses ruby 2.1.9, so I'm guessing that might be the problem?-\n\nOk I think actually you're missing rake from your gemfile.", "created": "2016-11-04T10:28:00.000000"}], "components": ["pcp-test"], "created": "2016-11-04T06:49:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@623da91e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz9yev:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "04/Nov/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_6410614492_*|*_5_*:*_1_*:*_0"}], "description": "https://jenkins.puppetlabs.com/job/platform_pcp-test_pkg-van-ship_master/4/\n\nFor both El-7 and Ubuntu, pcp-test appears to build but then fails on attempting to ship\n\n{noformat}04:35:24 + cd /var/tmp/tmp.8wEWacdtiT/rpmbuild/BUILD\n04:35:24 + cd pcp-test-0.1.0.10.gca902c9\n04:35:24 + exit 0\n04:35:24 Warning: Permanently added 'g7p8zindybc7vml.delivery.puppetlabs.net,10.32.123.103' (ECDSA) to the list of known hosts.\n04:35:24 g7p8zindybc7vml.delivery.puppetlabs.net has been destroyed\n04:35:24 \n04:35:24 Shipping build package\n04:35:25 bundler: failed to load command: ship (/var/lib/jenkins/workspace/platform_pcp-test_pkg-van-ship_master/BUILD_TARGET/el-7-x86_64/SLAVE_LABEL/beaker/.bundle/gems/ruby/2.3.0/bin/ship)\n04:35:25 LoadError: cannot load such file -- rake\n04:35:25   /var/lib/jenkins/workspace/platform_pcp-test_pkg-van-ship_master/BUILD_TARGET/el-7-x86_64/SLAVE_LABEL/beaker/.bundle/gems/ruby/2.3.0/bundler/gems/packaging-c192889fb4ed/lib/packaging/util/rake_utils.rb:1:in `require'\n04:35:25   /var/lib/jenkins/workspace/platform_pcp-test_pkg-van-ship_master/BUILD_TARGET/el-7-x86_64/SLAVE_LABEL/beaker/.bundle/gems/ruby/2.3.0/bundler/gems/packaging-c192889fb4ed/lib/packaging/util/rake_utils.rb:1:in `<top (required)>'\n04:35:25   /var/lib/jenkins/workspace/platform_pcp-test_pkg-van-ship_master/BUILD_TARGET/el-7-x86_64/SLAVE_LABEL/beaker/.bundle/gems/ruby/2.3.0/bundler/gems/packaging-c192889fb4ed/lib/packaging/util.rb:20:in `require'{noformat}\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31537", "fixedVersions": [], "id": "31537", "issueType": "Bug", "key": "PCP-634", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Blocker", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Won't Do", "resolutionDate": "2017-01-17T10:33:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pcp-test pipeline fails Integration Packaging", "timeSpent": "PT0S", "updated": "2017-01-17T10:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I got a more complete understanding of this problem looking at PCP-657. Once the action is marked as \"undetermined\", the status is assumed to be fixed (because it's not running) and will never be re-evaluated.\n\nThis behavior seems wrong on a couple levels. Some code assumes the flow is request -> \"running\" -> \"success/failure/undetermined\", other allows for unknown in the middle of that. In practice if you check before the PID file is written to disk, you get stuck.\n\nWhat we should be aiming for is:\n- The request triggers the action thread (semantically, the thread is the action, although in the case of external modules that concept is extended to a process started by the thread).\n- If the thread is not finished, then the action is *running*. The thread is not finished as long as [boost::thread#joinable|http://www.boost.org/doc/libs/1_58_0/doc/html/thread/thread_management.html#thread.thread_management.thread.joinable] is false.\n- If the thread is finished, a pidfile exists, and the pid has a running process, then *running*.\n- If the thread is finished, a pidfile exists, the process is not running, and an exitcode file exists, then *success* (and return the output).\n- Otherwise *failure*. The module is responsible for writing the exitcode file, so if it has exited and that file doesn't exist, something went wrong. We can try returning the output, but should not represent that the action succeeded.\n\nI chatted with [~accountid:63d4062f69c7ae3958d276ed] earlier about this. We could wait for a provisional response, but that requires a timeout and could still race with an action that's very slow to result in visible status. I don't see a reason to return unknown in any case.", "created": "2016-11-17T00:05:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I think I'm misreading pxp-agent's behavior here. As far as I can tell, the undetermined status never gets written to metadata. I verified that it returns {{unknown}} until the PID is written, and then reports {{running}}.", "created": "2016-11-28T12:56:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Re-opening this to fix a gap that comes up if there's a long period between starting the nonBlockingActionTask in a thread (and sending the provisional response after that thread is started) and an external process is invoked.\n\nWhat happens is:\n- Orchestrator sends a non-blocking request.\n- pxp-agent starts a thread to run nonBlockingActionTask, and sends a provisional response once the thread is started.\n- The nonBlockingActionTask invokes an action. In our case, the action will download a file, then invoke an external process (and write a PID file).\n- Downloading the file takes more than 20 seconds, so Orchestrator sends a status query. pxp-agent responds with unknown status, and Orchestrator considers the action failed.\n\nAn appropriate check is to see if the nonBlockingActionTask thread is still running. If it is, we know the action is still running (presumably downloading a file) and can wait.", "created": "2017-08-15T18:41:00.000000"}], "components": [], "created": "2016-11-02T16:00:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@72a61f0b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hymm1z:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Not a bug in existing user workflows."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "04/Nov/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_414840459_*|*_1_*:*_1_*:*_7385_*|*_10007_*:*_1_*:*_163815140_*|*_5_*:*_1_*:*_1987336591_*|*_6_*:*_2_*:*_14018817536_*|*_10006_*:*_2_*:*_9459474391_*|*_10005_*:*_1_*:*_1242448313"}], "description": "If a non-blocking request is started, and a status request sent immediately after, the agent will sometimes report an \"unknown\" state because the action process has not started running yet (the thread hasn't been started). This is outlined at https://github.com/puppetlabs/pxp-agent/blob/master/lib/src/request_processor.cc#L421-L449.\n\nThis use of \"unknown\" makes it impossible to distinguish between unknown status because the thread hasn't started yet, and unknown because the process started (and wrote a PID) and then exited without outputting anything. These should be reported differently so controllers can decide whether to retry querying status or give up.\n\nSome steps toward that appear to be documented at https://github.com/puppetlabs/pcp-specifications/blob/master/pxp/versions/next/transaction_status.md#transaction-status.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31639", "fixedVersions": ["pxp-agent 1.7.0"], "id": "31639", "issueType": "Bug", "key": "PCP-633", "labels": ["maintenance"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-08-22T11:37:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent reports unknown when queued action has not started running", "timeSpent": "PT0S", "updated": "2017-09-14T11:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Example output\n{code}\n             48 /opt/puppetlabs/puppet/bin/ruby /opt/puppetlabs/bin/puppet agent --verbose --no-daemonize --logdest console\n            726 /opt/puppetlabs/puppet/bin/ruby /opt/puppetlabs/bin/puppet agent --onetime --no-daemonize --environment run_puppet_twice_sd50af6e --verbose\n            774 /opt/puppetlabs/puppet/bin/ruby /opt/puppetlabs/bin/puppet agent --configprint lastrunreport\n{code}\n\nThis looks like the configprint process is returning a result but still reporting as running in ps. I'd be tempted to allow more than 2 pids. [~accountid:557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b]", "created": "2016-10-31T13:41:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] - I'm surprised to see PID 774 there, I've not seen that during testing. I think in your example output, both PIDS 48 and 774 are undesirable/irrelevant and need to be addressed.\n\nWhen I retry locally I see Puppet running as a service in spite of the pre-suite trying to stop it\n\n{code}rfoie66a86vs98y:~ root# ps -ef | grep puppet\n    0    38     1   0  3:21am ??         0:05.05 /opt/puppetlabs/puppet/bin/ruby /opt/puppetlabs/puppet/bin/mcollectived --no-daemonize --config=/etc/puppetlabs/mcollective/server.cfg --pidfile=/var/run/puppetlabs/mcollective.pid\n    0    73     1   0  3:21am ??         0:12.33 /opt/puppetlabs/puppet/bin/ruby /opt/puppetlabs/bin/puppet agent --verbose --no-daemonize --logdest console\n    0   833     1   0  3:33am ??         0:00.08 /opt/puppetlabs/puppet/bin/pxp-agent --foreground\n    0  1131  1126   0  3:36am ttys000    0:00.01 grep puppet\nrfoie66a86vs98y:~ root# puppet resource service puppet\nWarning: The /System/Library/LaunchDaemons/com.apple.jetsamproperties.Mac.plist plist does not contain a 'label' key", "created": "2016-11-01T06:00:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Added a PR that allows more than 2 PIDs and also stops puppet as a service at the start of the test - but I can't easily work out how the puppet service starts running again, I've not reproduced that locally.\nPerhaps the PR can be accepted to close this CI blocker, but we should understand when/how puppet is started up as a service", "created": "2016-11-01T06:09:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] please provide release notes for this issue, if applicable.", "created": "2016-12-27T10:23:00.000000"}], "components": [], "created": "2016-10-31T05:54:00.000000", "creator": "557058:295d7a84-a09b-4348-8961-a1e1764c190e", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "pe-licensing"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5fa2cebe"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz9v1r:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "31/Oct/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_596667868_*|*_1_*:*_1_*:*_20442127_*|*_3_*:*_1_*:*_101183664_*|*_5_*:*_1_*:*_6121255942_*|*_6_*:*_1_*:*_0"}], "description": "Build dashboard: https://jenkins.puppetlabs.com/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/\n\nE.g. https://jenkins.puppetlabs.com/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL=beaker,TEST_TARGET=osx1011-64a/76/console\n\nDiscussed with [~accountid:557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b] who suggested ticketing this as it \"Might be a real concern - puppet is set to not run daemonized and those test failures suggest it still is\"\n\n{noformat}\nRuntimeError: Test relies on there being either 1 or 2 puppet-agent pids, but somehow 3 pids were detected\n00:25:25.774         /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/osx1011-64a/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_twice.rb:98\n00:25:25.783         /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/osx1011-64a/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_twice.rb:71\n00:25:25.787         /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/osx1011-64a/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_twice.rb:71\n00:25:25.789         /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/osx1011-64a/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_twice.rb:70\n00:25:25.790         /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/osx1011-64a/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_twice.rb:8\n00:25:25.794         /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/osx1011-64a/pxp-agent/acceptance/.bundle/gems/gems/beaker-3.1.0/bin/beaker:6\n00:25:25.796         Begin teardown\n00:25:25.797         \n00:25:25.798         wbz0epmyav72omg.delivery.puppetlabs.net (redhat7-64-1) 04:43:27$ rm -rf /etc/puppetlabs/code/environments/run_puppet_twice_3k0zds7b\n00:25:25.798         \n00:25:25.802         wbz0epmyav72omg.delivery.puppetlabs.net (redhat7-64-1) executed in 0.01 seconds\n00:25:25.802         \n00:25:25.803         p2icndsdpg5wwlu.delivery.puppetlabs.net (osx1011-64-1) 04:43:27$ ps -e -o pid,comm | grep sleep | sed 's/^[^0-9]*//g' | cut -d\\  -f1\n00:25:25.803           860\n00:25:25.828         \n00:25:25.833         p2icndsdpg5wwlu.delivery.puppetlabs.net (osx1011-64-1) executed in 0.03 seconds\n00:25:25.833         \n00:25:25.834         p2icndsdpg5wwlu.delivery.puppetlabs.net (osx1011-64-1) 04:43:27$ kill -s TERM 860\n00:25:25.834         \n00:25:25.841         p2icndsdpg5wwlu.delivery.puppetlabs.net (osx1011-64-1) executed in 0.01 seconds\n00:25:25.841         End teardown\n00:25:25.842         Warning: tests/pxp-module-puppet/run_puppet_twice.rb errored in 27.90 seconds\n00:25:25.843       Test Suite: tests @ 2016-10-31 04:30:57 -0700\n00:25:25.843 \n00:25:25.843       - Host Configuration Summary -\n00:25:25.845 \n00:25:25.845 \n00:25:25.845               - Test Case Summary for suite 'tests' -\n00:25:25.845        Total Suite Time: 750.09 seconds\n00:25:25.845       Average Test Time: 41.67 seconds\n00:25:25.845               Attempted: 18\n00:25:25.845                  Passed: 17\n00:25:25.845                  Failed: 0\n00:25:25.845                 Errored: 1\n00:25:25.845                 Skipped: 0\n00:25:25.845                 Pending: 0\n00:25:25.845                   Total: 18\n00:25:25.845 \n00:25:25.845       - Specific Test Case Status -\n00:25:25.845         \n00:25:25.847 Failed Tests Cases:\n00:25:25.847 Errored Tests Cases:\n00:25:25.848           Test Case tests/pxp-module-puppet/run_puppet_twice.rb reported: #<RuntimeError: Test relies on there being either 1 or 2 puppet-agent pids, but somehow 3 pids were detected>\n00:25:25.848             Test line: tests/pxp-module-puppet/run_puppet_twice.rb:98:in `block (4 levels) in run_test'\n00:25:25.848 Skipped Tests Cases:\n00:25:25.849 Pending Tests Cases:\n00:25:25.849 \n00:25:26.169         Failed: errored in TestSuite: report_and_raise_on_failure\n00:25:26.169         #<RuntimeError: Failed while running the tests suite>\n00:25:26.169         No tests to run for suite 'post_suite'\n00:25:26.170         No tests to run for suite 'pre_cleanup'\n\n{noformat}\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32207", "fixedVersions": ["pxp-agent 1.2.3"], "id": "32207", "issueType": "CI Blocker", "key": "PCP-632", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:295d7a84-a09b-4348-8961-a1e1764c190e", "resolution": "Fixed", "resolutionDate": "2016-11-08T12:26:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Pxp agent tests failing for osx1010, osx1011 and osx2012", "timeSpent": "PT0S", "updated": "2017-01-18T08:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "attachments": [], "comments": [{"author": "623c0cebbef8a60068c7977d", "body": "[~accountid:63d40628f6e1b543161789a7] thething that comes to mind off the top of my head reading this ticket would be to manually close the host connection ({{host.close()}}) when you're confident it's been long enough. The next time beaker tries to do something, it'll open up a fresh one. That would be one way that I could think of getting around this if it's a beaker issue.\n\nI'm assuming that this line:\n{noformat}\nWarning: Attemped ssh.close, (caught Net::SSH::Disconnect - connection closed by remote host).\n{noformat}\nWas not from a {{host.close()}} call.", "created": "2016-10-28T16:22:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Thanks [~accountid:623c0cebbef8a60068c7977d], it doesn't look like PCP acceptance explicitly calls {{host.close}}, but I imagine that would be helpful.", "created": "2016-10-31T10:15:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Did something change in beaker or vmpooler recently? I'm also seeing reboot on OSX take a long time to complete.\n\n{code}    * wait until pxp-agent is back up and associated on l5bmm7nzkpgxzgw.delivery.puppetlabs.net\n\n      l5bmm7nzkpgxzgw.delivery.puppetlabs.net (osx1012-64-1) 11:32:38$ #<Beaker::Command:0x000000079b1bb0>\n        Trying command 30 times.\n      .        Attempting ssh connection to l5bmm7nzkpgxzgw.delivery.puppetlabs.net, user: root, opts: {:config=>false, :paranoid=>false, :auth_methods=>[\"publickey\"], :port=>22, :forward_agent=>true, :keys=>[\"~/.ssh/id_rsa-acceptance\"], :user_known_hosts_file=>\"/home/centos/.ssh/known_hosts\", :keepalive=>true, :user=>\"root\"}\n        Warning: Try 1 -- Host l5bmm7nzkpgxzgw.delivery.puppetlabs.net unreachable: Errno::ECONNREFUSED - Connection refused - connect(2) for 10.32.115.129:22\n        Warning: Trying again in 3 seconds\n        Attempting ssh connection to l5bmm7nzkpgxzgw.delivery.puppetlabs.net, user: root, opts: {:config=>false, :paranoid=>false, :auth_methods=>[\"publickey\"], :port=>22, :forward_agent=>true, :keys=>[\"~/.ssh/id_rsa-acceptance\"], :user_known_hosts_file=>\"/home/centos/.ssh/known_hosts\", :keepalive=>true, :user=>\"root\"}\n        Warning: Try 2 -- Host l5bmm7nzkpgxzgw.delivery.puppetlabs.net unreachable: Errno::ECONNREFUSED - Connection refused - connect(2) for 10.32.115.129:22\n        Warning: Trying again in 5 seconds\n        Attempting ssh connection to l5bmm7nzkpgxzgw.delivery.puppetlabs.net, user: root, opts: {:config=>false, :paranoid=>false, :auth_methods=>[\"publickey\"], :port=>22, :forward_agent=>true, :keys=>[\"~/.ssh/id_rsa-acceptance\"], :user_known_hosts_file=>\"/home/centos/.ssh/known_hosts\", :keepalive=>true, :user=>\"root\"}\n        Warning: Try 3 -- Host l5bmm7nzkpgxzgw.delivery.puppetlabs.net unreachable: Errno::ECONNREFUSED - Connection refused - connect(2) for 10.32.115.129:22\n        Warning: Trying again in 8 seconds\n        Attempting ssh connection to l5bmm7nzkpgxzgw.delivery.puppetlabs.net, user: root, opts: {:config=>false, :paranoid=>false, :auth_methods=>[\"publickey\"], :port=>22, :forward_agent=>true, :keys=>[\"~/.ssh/id_rsa-acceptance\"], :user_known_hosts_file=>\"/home/centos/.ssh/known_hosts\", :keepalive=>true, :user=>\"root\"}\n        Warning: Try 4 -- Host l5bmm7nzkpgxzgw.delivery.puppetlabs.net unreachable: Errno::ECONNREFUSED - Connection refused - connect(2) for 10.32.115.129:22\n        Warning: Trying again in 13 seconds\n        Attempting ssh connection to l5bmm7nzkpgxzgw.delivery.puppetlabs.net, user: root, opts: {:config=>false, :paranoid=>false, :auth_methods=>[\"publickey\"], :port=>22, :forward_agent=>true, :keys=>[\"~/.ssh/id_rsa-acceptance\"], :user_known_hosts_file=>\"/home/centos/.ssh/known_hosts\", :keepalive=>true, :user=>\"root\"}\n        Warning: Try 5 -- Host l5bmm7nzkpgxzgw.delivery.puppetlabs.net unreachable: Errno::ECONNREFUSED - Connection refused - connect(2) for 10.32.115.129:22\n        Warning: Trying again in 21 seconds\n        Attempting ssh connection to l5bmm7nzkpgxzgw.delivery.puppetlabs.net, user: root, opts: {:config=>false, :paranoid=>false, :auth_methods=>[\"publickey\"], :port=>22, :forward_agent=>true, :keys=>[\"~/.ssh/id_rsa-acceptance\"], :user_known_hosts_file=>\"/home/centos/.ssh/known_hosts\", :keepalive=>true, :user=>\"root\"}\n        Warning: Try 6 -- Host l5bmm7nzkpgxzgw.delivery.puppetlabs.net unreachable: Errno::ECONNREFUSED - Connection refused - connect(2) for 10.32.115.129:22\n        Warning: Trying again in 34 seconds\n        Attempting ssh connection to l5bmm7nzkpgxzgw.delivery.puppetlabs.net, user: root, opts: {:config=>false, :paranoid=>false, :auth_methods=>[\"publickey\"], :port=>22, :forward_agent=>true, :keys=>[\"~/.ssh/id_rsa-acceptance\"], :user_known_hosts_file=>\"/home/centos/.ssh/known_hosts\", :keepalive=>true, :user=>\"root\"}\n        Warning: Try 7 -- Host l5bmm7nzkpgxzgw.delivery.puppetlabs.net unreachable: Net::SSH::ConnectionTimeout - Net::SSH::ConnectionTimeout\n        Warning: Trying again in 55 seconds\n        Attempting ssh connection to l5bmm7nzkpgxzgw.delivery.puppetlabs.net, user: root, opts: {:config=>false, :paranoid=>false, :auth_methods=>[\"publickey\"], :port=>22, :forward_agent=>true, :keys=>[\"~/.ssh/id_rsa-acceptance\"], :user_known_hosts_file=>\"/home/centos/.ssh/known_hosts\", :keepalive=>true, :user=>\"root\"}\n        Warning: Try 8 -- Host l5bmm7nzkpgxzgw.delivery.puppetlabs.net unreachable: Net::SSH::ConnectionTimeout - Net::SSH::ConnectionTimeout\n        Warning: Trying again in 89 seconds\n        Attempting ssh connection to l5bmm7nzkpgxzgw.delivery.puppetlabs.net, user: root, opts: {:config=>false, :paranoid=>false, :auth_methods=>[\"publickey\"], :port=>22, :forward_agent=>true, :keys=>[\"~/.ssh/id_rsa-acceptance\"], :user_known_hosts_file=>\"/home/centos/.ssh/known_hosts\", :keepalive=>true, :user=>\"root\"}\n\n      l5bmm7nzkpgxzgw.delivery.puppetlabs.net (osx1012-64-1) 11:41:10$ #<Beaker::Command:0x000000079b1bb0> ostensibly successful.{code}\n\nAlso [~accountid:557058:a69e978d-6cea-49f9-9227-3a3ef8a776c0] was querying the behaviour of beaker's wait_for_connection_failure just yesterday. \n\nI don't see any relevant recent commits to beaker master", "created": "2016-11-01T05:42:00.000000"}, {"author": "557058:a69e978d-6cea-49f9-9227-3a3ef8a776c0", "body": "I've seen this happen on certain OS's in VMPooler before when the IP address of the machine changes after reboot.  That would be my first guess, as Beaker favors connecting by IP address and once it does so successfully doesn't attempt to connect by other means on retry.  I opened a Beaker defect for the issue: https://puppet.atlassian.net/browse/BKR-834", "created": "2016-11-01T09:18:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Merged to LTS-1.7 and up. I'm not sure which pxp-agent fixVersion that corresponds to?", "created": "2016-11-04T15:16:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Probably 1.2.3, but not decided yet.", "created": "2016-11-04T15:19:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Still seeing slow runs: https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_pxp-agent_intn-van-sys_master/SLAVE_LABEL=beaker,TEST_TARGET=redhat7-64m-windows2012r2-64a/7/consoleFull\n\nI'm guessing that our call to {{host.close}} causes us to try to gracefully close the ssh connection. The net::ssh library will try to send an {{SSH_MSG_CHANNEL_CLOSE}} message, receive acknowledgement, etc. For reasons unknown this takes awhile when the remote side is Windows. Calling {{SSH::Transport#shutdown!}} might be a better option, since we want to do a hard socket close.", "created": "2016-11-08T12:58:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:63d40628f6e1b543161789a7] I assume that means this needs to be worked on some more (and hence probably isn't still 'Ready for CI')?", "created": "2016-11-23T13:34:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Yep, not ready for CI. Not sure who owns this though.", "created": "2016-11-23T13:52:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Proposed a fix in Beaker that appears to improve this. Any more progress on this is blocked by BKR-1006.", "created": "2016-12-06T17:33:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] that beaker issue has been fixed. Can more progress be made on this issue now?", "created": "2016-12-13T08:06:00.000000"}, {"author": "623c0cebbef8a60068c7977d", "body": "[~accountid:557058:3da95088-202d-4082-a15a-eb2e812f2578], [~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e], the beaker fix has been resolved for the BKR.next release, which won't happen until tomorrow (or whenever PE goes out +1), so unless you're working from beaker's master branch, this will need to wait a day or two before becoming workable. FYI.", "created": "2016-12-13T09:11:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "That timeline works for me, I'll watch for the release.", "created": "2016-12-13T09:56:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Beaker 3.6 is released, I'll work on updating this soon.", "created": "2016-12-14T14:08:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] please provide release notes for this issue, if applicable.", "created": "2016-12-27T10:22:00.000000"}], "components": [], "created": "2016-10-28T11:48:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6f58449"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz9xfr:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/Oct/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_1640218431_*|*_1_*:*_1_*:*_254462058_*|*_10007_*:*_2_*:*_785412570_*|*_3_*:*_2_*:*_5328387_*|*_5_*:*_1_*:*_2500708335_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_1381787039_*|*_10006_*:*_2_*:*_505553834_*|*_10005_*:*_1_*:*_4036556"}], "description": "The acceptance tests reboots the host (using beaker) and verifies pxp-agent comes back up and reassociates. However, after the reboot, the test can't reconnect via ssh to the host for 15-40 minutes. While the test sleeps and retries, I can manually ssh and rdp to the host no problem.\n\n{noformat}\n09:55:36     q1f5xpbbrulnivq.delivery.puppetlabs.net (windows2012r2-64-1) 16:55:36$ cmd.exe /c puppet resource service pxp-agent ensure=running enable=true\n09:55:36       Notice: /Service[pxp-agent]/ensure: ensure changed 'stopped' to 'running'\n09:55:46       service { 'pxp-agent':\n09:55:46         ensure => 'running',\n09:55:46         enable => 'true',\n09:55:46       }\n09:55:46     \n09:55:46     q1f5xpbbrulnivq.delivery.puppetlabs.net (windows2012r2-64-1) executed in 10.59 seconds\n09:55:46   \n09:55:46   * restart each agent\n09:55:46     \n09:55:46     q1f5xpbbrulnivq.delivery.puppetlabs.net (windows2012r2-64-1) 16:55:46$ shutdown /f /r /t 0 /d p:4:1 /c \"Beaker::Host reboot command issued\"\n09:55:46     \n09:55:47     q1f5xpbbrulnivq.delivery.puppetlabs.net (windows2012r2-64-1) executed in 0.09 seconds\n09:55:47     Waiting for connection failure on windows2012r2-64-1 (attempt 1, try again in 3 second(s))\n09:55:47     \n09:55:47     windows2012r2-64-1 16:55:47$ echo echo\n09:55:47     sleep 3 second(s):     .    .    .\n09:55:50     Waiting for connection failure on windows2012r2-64-1 (attempt 2, try again in 5 second(s))\n09:55:50     \n09:55:50     windows2012r2-64-1 16:55:50$ echo echo\n09:55:50     sleep 5 second(s):     .    .    .    .    .\n09:56:00     Waiting for connection failure on windows2012r2-64-1 (attempt 3, try again in 8 second(s))\n09:56:00     \n09:56:00     windows2012r2-64-1 16:56:00$ echo echo\n09:56:00     sleep 8 second(s):     .    .    .    .    .    .    .    .\n09:56:28     Waiting for connection failure on windows2012r2-64-1 (attempt 4, try again in 13 second(s))\n09:56:28     \n09:56:28     windows2012r2-64-1 16:56:28$ echo echo\n09:56:28     sleep 13 second(s):     .    .    .    .    .    .    .    .    .    .    .    .    .\n09:57:46     Waiting for connection failure on windows2012r2-64-1 (attempt 5, try again in 21 second(s))\n09:57:46     \n09:57:46     windows2012r2-64-1 16:57:46$ echo echo\n09:57:46     sleep 21 second(s):     .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .\n10:01:16     Waiting for connection failure on windows2012r2-64-1 (attempt 6, try again in 34 second(s))\n10:01:16     \n10:01:16     windows2012r2-64-1 17:01:16$ echo echo\n10:01:16     sleep 34 second(s):     .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .\n10:10:37     Waiting for connection failure on windows2012r2-64-1 (attempt 7, try again in 55 second(s))\n10:10:37     \n10:10:37     windows2012r2-64-1 17:10:37$ echo echo\n10:10:37     sleep 55 second(s):     .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .\n10:35:22     Waiting for connection failure on windows2012r2-64-1 (attempt 8, try again in 89 second(s))\n10:35:22     \n10:35:22     windows2012r2-64-1 17:35:22$ echo echo\n10:35:22     Connection on windows2012r2-64-1 failed as expected (Errno::ETIMEDOUT - Connection timed out - recvfrom(2))\n10:35:22     Warning: Attemped ssh.close, (caught Net::SSH::Disconnect - connection closed by remote host).\n10:35:22     ssh connection to windows2012r2-64-1 has been terminated\n10:35:22     \n10:36:02     * wait until pxp-agent is back up and associated on q1f5xpbbrulnivq.delivery.puppetlabs.net\n10:36:02       \n10:36:02       q1f5xpbbrulnivq.delivery.puppetlabs.net (windows2012r2-64-1) 17:36:02$ #<Beaker::Command:0x00000003aa01b0>\n10:36:02         Trying command 30 times.\n10:36:02       .        Attempting ssh connection to q1f5xpbbrulnivq.delivery.puppetlabs.net, user: Administrator, opts: {:config=>false, :paranoid=>false, :auth_methods=>[\"publickey\"], :port=>22, :forward_agent=>true, :keys=>[\"~/.ssh/id_rsa-acceptance\"], :user_known_hosts_file=>\"/var/lib/jenkins/.ssh/known_hosts\", :keepalive=>true, :user=>\"Administrator\"}\n10:36:02       \n10:36:04       q1f5xpbbrulnivq.delivery.puppetlabs.net (windows2012r2-64-1) 17:36:04$ #<Beaker::Command:0x00000003aa01b0> ostensibly successful.\n10:36:04   \n10:36:04   * Send an rpc_blocking_request to all agents after reboot\n10:36:04 {:envelope=>{:id=>\"0e03fc58-6495-465c-a861-c243017b8d87\", :targets=>[\"pcp://mesos-jenkins-287c74dda404431ab67a0e91c0ae2fe8-workerbeakerunit/ruby-pcp-client-1357\"], :message_type=>\"http://puppetlabs.com/rpc_blocking_response\", :sender=>\"pcp://q1f5xpbbrulnivq.delivery.puppetlabs.net/agent\", :expires=>\"2016-10-28T17:36:24.066398Z\"}, :data=>{\"transaction_id\"=>\"b37f4895-da32-40bd-93dc-69d8beab44f3\", \"results\"=>{\"kind\"=>\"apply\", \"time\"=>\"2016-10-28 17:36:17 +0000\", \"transaction_uuid\"=>\"25030ae3-fc83-4350-bd00-e13f61cbc7b2\", \"environment\"=>\"production\", \"status\"=>\"unchanged\", \"exitcode\"=>0, \"version\"=>1}}}    \n10:36:19     * Check Run Puppet response for q1f5xpbbrulnivq.delivery.puppetlabs.net\n10:36:19 Begin teardown\n10:36:19 End teardown\n10:36:19 tests/restart_host_run_puppet.rb passed in 2455.18 seconds\n{noformat}\n\nThe pxp-agent log shows it reassociated fairly quickly after the reboot (it's timezone is in UTC):\n\n{noformat}\n2016-10-28 17:39:25.707387 INFO  puppetlabs.pxp_agent.main:202 - pxp-agent configuration has been validated\n2016-10-28 17:39:25.707387 INFO  puppetlabs.pxp_agent.util.daemonize:57 - Daemonization completed; pxp-agent PID=1720, process lock 'com_puppetlabs_pxp-agent'\n2016-10-28 17:39:25.707387 INFO  puppetlabs.cpp_pcp_client.client_metadata:129 - Retrieved common name from the certificate and determined the client URI: pcp://q1f5xpbbrulnivq.delivery.puppetlabs.net/agent\n2016-10-28 17:39:25.707387 INFO  puppetlabs.pxp_agent.request_processor:766 - Loading external modules configuration from C:\\ProgramData\\PuppetLabs\\pxp-agent\\etc\\modules\n2016-10-28 17:39:25.723020 INFO  puppetlabs.pxp_agent.request_processor:817 - Loading external modules from C:\\Program Files\\Puppet Labs\\Puppet\\pxp-agent\\modules\n2016-10-28 17:39:26.910514 INFO  puppetlabs.pxp_agent.results_storage:221 - About to purge the results directories from 'C:\\ProgramData\\PuppetLabs\\pxp-agent\\var\\spool'; TTL = 14d\n2016-10-28 17:39:26.957393 INFO  puppetlabs.pxp_agent.results_storage:270 - Removed 0 directories from 'C:\\ProgramData\\PuppetLabs\\pxp-agent\\var\\spool'\n2016-10-28 17:39:26.957393 INFO  puppetlabs.pxp_agent.request_processor:907 - Starting the task for purging the spool directory every 24192 minutes; thread id 708\n2016-10-28 17:39:26.957393 INFO  puppetlabs.cpp_pcp_client.connection:394 - Establishing the WebSocket connection with 'wss://y6op8id5ueene1g.delivery.puppetlabs.net:8142/pcp/' with a timeout of 5000 ms\n2016-10-28 17:39:27.051154 INFO  puppetlabs.cpp_pcp_client.connection:601 - Successfully established a WebSocket connection with the PCP broker at wss://y6op8id5ueene1g.delivery.puppetlabs.net:8142/pcp/\n2016-10-28 17:39:27.051154 INFO  puppetlabs.cpp_pcp_client.connector:266 - Waiting for the PCP Session Association to complete\n2016-10-28 17:39:27.051154 INFO  puppetlabs.cpp_pcp_client.connector:581 - Sending Associate Session request with id 5b260ff8-5aa9-4eb9-a1c4-d73ea272f9b8 and a TTL of 15 s\n2016-10-28 17:39:27.144953 INFO  puppetlabs.cpp_pcp_client.connector:700 - Received an Associate Session response f6d3c2bb-86c9-4268-be14-8683140d80bf from pcp:///server for the request 5b260ff8-5aa9-4eb9-a1c4-d73ea272f9b8: success\n2016-10-28 17:39:27.144953 INFO  puppetlabs.cpp_pcp_client.connector:804 - Starting the monitor task\n2016-10-28 17:39:47.254350 WARN  puppetlabs.cpp_pcp_client.connection:575 - WebSocket onPongTimeout event (1 consecutive); closing the WebSocket connection\n2016-10-28 17:39:57.348117 WARN  puppetlabs.cpp_pcp_client.connector:820 - WebSocket connection to PCP broker lost; retrying\n2016-10-28 17:39:57.348117 INFO  puppetlabs.cpp_pcp_client.connection:394 - Establishing the WebSocket connection with 'wss://y6op8id5ueene1g.delivery.puppetlabs.net:8142/pcp/' with a timeout of 5000 ms\n2016-10-28 17:40:02.363719 WARN  puppetlabs.cpp_pcp_client.connection:540 - WebSocket on fail event (connection loss): Timer Expired (code: 1006)\n2016-10-28 17:40:02.566844 WARN  puppetlabs.cpp_pcp_client.connection:233 - Failed to establish a WebSocket connection; retrying in 2 seconds\n2016-10-28 17:40:02.566844 WARN  puppetlabs.cpp_pcp_client.connection:419 - Failed to connect to wss://y6op8id5ueene1g.delivery.puppetlabs.net:8142/pcp/; switching to wss://y6op8id5ueene1g.delivery.puppetlabs.net:8143/pcp/\n2016-10-28 17:40:04.379382 INFO  puppetlabs.cpp_pcp_client.connection:394 - Establishing the WebSocket connection with 'wss://y6op8id5ueene1g.delivery.puppetlabs.net:8143/pcp/' with a timeout of 5000 ms\n2016-10-28 17:40:04.457512 INFO  puppetlabs.cpp_pcp_client.connection:601 - Successfully established a WebSocket connection with the PCP broker at wss://y6op8id5ueene1g.delivery.puppetlabs.net:8143/pcp/\n2016-10-28 17:40:04.457512 INFO  puppetlabs.cpp_pcp_client.connector:266 - Waiting for the PCP Session Association to complete\n2016-10-28 17:40:04.457512 INFO  puppetlabs.cpp_pcp_client.connector:581 - Sending Associate Session request with id 519196ca-3a19-4bc9-99f8-a43f93f31ce6 and a TTL of 15 s\n2016-10-28 17:40:04.504384 INFO  puppetlabs.cpp_pcp_client.connector:700 - Received an Associate Session response ad5b933c-bac6-4e5f-b275-b8f0f0567d77 from pcp:///server for the request 519196ca-3a19-4bc9-99f8-a43f93f31ce6: success\n2016-10-28 17:40:19.598168 WARN  puppetlabs.cpp_pcp_client.connector:820 - WebSocket connection to PCP broker lost; retrying\n2016-10-28 17:40:19.598168 INFO  puppetlabs.cpp_pcp_client.connection:394 - Establishing the WebSocket connection with 'wss://y6op8id5ueene1g.delivery.puppetlabs.net:8143/pcp/' with a timeout of 5000 ms\n2016-10-28 17:40:20.629411 WARN  puppetlabs.cpp_pcp_client.connection:540 - WebSocket on fail event (connection loss): Underlying Transport Error (code: 1006)\n2016-10-28 17:40:24.613799 WARN  puppetlabs.cpp_pcp_client.connection:233 - Failed to establish a WebSocket connection; retrying in 2 seconds\n2016-10-28 17:40:24.613799 WARN  puppetlabs.cpp_pcp_client.connection:419 - Failed to connect to wss://y6op8id5ueene1g.delivery.puppetlabs.net:8143/pcp/; switching to wss://y6op8id5ueene1g.delivery.puppetlabs.net:8142/pcp/\n2016-10-28 17:40:26.426281 INFO  puppetlabs.cpp_pcp_client.connection:394 - Establishing the WebSocket connection with 'wss://y6op8id5ueene1g.delivery.puppetlabs.net:8142/pcp/' with a timeout of 5000 ms\n2016-10-28 17:40:27.926282 INFO  puppetlabs.cpp_pcp_client.connection:601 - Successfully established a WebSocket connection with the PCP broker at wss://y6op8id5ueene1g.delivery.puppetlabs.net:8142/pcp/\n2016-10-28 17:40:27.926282 INFO  puppetlabs.cpp_pcp_client.connector:266 - Waiting for the PCP Session Association to complete\n2016-10-28 17:40:27.926282 INFO  puppetlabs.cpp_pcp_client.connector:581 - Sending Associate Session request with id fae9d25e-3bdb-4e72-b930-d3860bfafde3 and a TTL of 15 s\n2016-10-28 17:40:36.113774 INFO  puppetlabs.pxp_agent.util.daemonize:25 - Caught signal 0 - shutting down\n{noformat}\n\nThe same test does not take so long on other platforms. It may be a beaker issue with its ssh connection handling? and makes me wonder if it does not correctly detect the ssh disconnect, so it's holding onto the old session and is unable to \"connect\".\n\nIf it's a beaker issue, I would expect this to affect anyone using beaker's reboot functionality on windows, like in module pipelines.\n\n/cc  [~accountid:623c0cebbef8a60068c7977d], [~accountid:557058:263afade-3e4f-46c6-b50a-cf2982192562], [~accountid:557058:d9266b08-990a-449f-97ff-f9a0910c2a58]\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31637", "fixedVersions": ["pxp-agent 1.2.3", "pxp-agent 1.3.2"], "id": "31637", "issueType": "Bug", "key": "PCP-631", "labels": ["maintenance"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2016-12-20T10:08:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "restart_host_run_puppet takes 15-40 minutes to run on Windows", "timeSpent": "PT0S", "updated": "2017-01-18T08:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I believe this will be completed with ORCH-1613.", "created": "2017-02-22T10:33:00.000000"}], "components": ["DOCS"], "created": "2016-10-26T12:17:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@21707588"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzbf67:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_4077979616_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_6200975301"}], "description": "Improve documentation around managing PCP. It should include where to look for logs to debug (pxp-agent.log, pcp-broker.log, pcp-broker-messages.log), and what configuration options to tune if things go wrong (currently documented for Orchestrator, but without much context).", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31776", "fixedVersions": [], "id": "31776", "issueType": "Task", "key": "PCP-630", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Duplicate", "resolutionDate": "2017-02-22T10:33:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "DOCS: update documentation on debugging and configuring PCP", "timeSpent": "PT0S", "updated": "2017-02-22T10:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["QA"], "created": "2016-10-26T11:58:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@48951481"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz9s9b:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "5.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_5467312097_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_6200979626"}], "description": "Test connecting to pcp-brokers behind a load balancer (such as haproxy) from pxp-agent. We should validate the whole Orchestrator workflow (send non-blocking request, get provisional response, send status request, get final result).\n\nIt might also be worth checking that the agent successfully reconnects if the broker it's connected to goes offline.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32067", "fixedVersions": [], "id": "32067", "issueType": "Task", "key": "PCP-629", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Duplicate", "resolutionDate": "2017-03-10T12:09:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Test pcp-broker behind a load balancer", "timeSpent": "PT0S", "updated": "2017-03-10T12:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:669d4655-0c85-469a-a11c-e5290cf2955d", "attachments": [], "comments": [{"author": "557058:5e2d4e96-5ea8-42e3-9179-a3afcdccef2f", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] you're gonna give the necessary details, correct?", "created": "2017-03-22T10:59:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Yes. I believe I have them now, just need to write them up.", "created": "2017-03-22T11:02:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Predocs:\n\nWe suggest load balancing Puppet Server (port 8140) and PCP (port 8142) with separate configuration - hence different ports - so the load balancing schemes don't interfere. PCP sets up many persistent connections, and interleaving the two types of traffic could result in very disproportionate load on Compile Masters.\n\nPCP is built on WebSockets, and thus requires special consideration for load balancing. We recommend using a roundrobin or random load balancing algorithm, as pcp-brokers don't operate independent of Orchestrator and will isolate themselves if they become disconnected", "created": "2017-03-22T13:57:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Actually, if using health checks we probably don't need to stick to roundrobin or random. Workload distribution doesn't really matter then.", "created": "2017-03-22T14:06:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Removed the {{option http-server-close}}, as [~accountid:557058:093475a3-6bc8-4a70-8034-ae5a2ea66512] pointed out that's not necessary for WebSocket connections.", "created": "2017-03-22T14:27:00.000000"}, {"author": "557058:5e2d4e96-5ea8-42e3-9179-a3afcdccef2f", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] and [~accountid:557058:0cc28489-f549-4a27-8863-54f5ed261a77] please review my revision for the load balancer/PCP scale:\n\nhttps://github.com/puppetlabs/pe-docs-private/commit/5bcfa947df16005e35833dfb6f4484685089ecf3", "created": "2017-03-23T11:55:00.000000"}, {"author": "557058:0cc28489-f549-4a27-8863-54f5ed261a77", "body": "cc: [~accountid:557058:093475a3-6bc8-4a70-8034-ae5a2ea66512] (it should not be me in previous comment)", "created": "2017-03-23T12:06:00.000000"}, {"author": "557058:5e2d4e96-5ea8-42e3-9179-a3afcdccef2f", "body": "See comment on PCP-629. I've combined this conceptual description with the task for configuring the compile masters. ", "created": "2017-03-24T15:26:00.000000"}, {"author": "557058:5e2d4e96-5ea8-42e3-9179-a3afcdccef2f", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] here is the complete version, which rounds up our conversation:\n \nhttps://github.com/puppetlabs/pe-docs-private/blob/glisan/source/install_multimaster.markdown#configure-compile-masters-for-orchestration-scale\n\nNote that I also have a MEEP version, which is pretty much the same save for the parameters getting set in pe.conf instead of the console. ", "created": "2017-03-27T10:10:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "[~accountid:557058:5e2d4e96-5ea8-42e3-9179-a3afcdccef2f] running Puppet on the Puppet Master in step 6 isn't strictly necessary. I don't think it'll have any changes.", "created": "2017-03-27T10:29:00.000000"}], "components": ["DOCS"], "created": "2016-10-26T11:55:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3ef191e1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzbf6f:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/Mar/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_6497342648_*|*_10009_*:*_1_*:*_452901403_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_88889338_*|*_10005_*:*_1_*:*_6200983989"}], "description": "With pcp-brokers located on Compile Masters, we expect them to be configured behind a load balancer. We must document how to correctly configure load balancers to work with PCP (i.e. tls-enabled websockets).", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31968", "fixedVersions": [], "id": "31968", "issueType": "Task", "key": "PCP-628", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Done", "resolutionDate": "2017-03-28T17:43:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "DOCS: document load balancer configuration with PCP", "timeSpent": "PT0S", "updated": "2017-03-28T17:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This could alternately be accomplished by querying the pxp-agent status module for the transaction to identify if it's already run or currently running. If unknown, we can try sending the request again, otherwise we'll get the status of the run. i.e., move checks client-side rather than agent-side.\n\nI'm not sure this is simpler, as we already have the store for non-blocking requests that we can re-use.", "created": "2016-10-31T10:53:00.000000"}, {"author": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "body": "So return the status instead of a pxperror? That seems like it would break old clients? It seems like we just need to check `!storage_ptr_->find(request.transactionId())` otherwise.\n\nDo we need to do any checking here for when a task started by a previous pxp-agent process may have failed or is the expected client workflow\n1. client requests task\n2. client not receive response before timeout\n3. check inventory for connectivity\n4. request task again possibly from a different relay\n5. receive error that task is running\n6. request status\n7. error status because pid doesn't exist", "created": "2017-01-03T17:08:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I think my comment was a suggestion I got, but I forget the context. It didn't seem simpler to me.\n\nOld agents might re-run the same transaction", "created": "2017-01-03T17:24:00.000000"}], "components": ["pxp-agent"], "created": "2016-10-26T11:49:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "At-least-once message delivery should result in idempotent behavior on pxp-agent (within a reasonable time-frame, i.e. the {{spool-dir-purge-ttl}})."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@33f0e58d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzb9hr:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "pxp-agent will now respond to a PXP non-blocking requests that uses a duplicate transaction ID by sending a provisional response, rather than an error message; status requests can then be sent as normal to check on the status of the original request that was duplicated. It will also detect duplicate IDs that are stored on-disk, rather than only those in-memory (so it will no longer \"forget\" when the process is restarted)."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "04/Jan/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_17194601_*|*_1_*:*_1_*:*_1667854501_*|*_10007_*:*_1_*:*_925895054_*|*_3_*:*_1_*:*_1585319862_*|*_5_*:*_1_*:*_4981925516_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_4805583340"}], "description": "Networking is inherently lossy. A request sent to pxp-agent results in a response to the original sender; if that response is lost, the sender may attempt to re-send the request (using the same transaction id). Blocking requests are meant to be quick and repeatable, so we can safely re-run them. Non-blocking requests are expected to be on-going; we should handle repeated requests idempotently, meaning the action should not be re-executed.\n\nAlso, if an agent appears to be connected to more than one broker, the easiest way to ensure delivery is send a message via both brokers. This scenario can happen when an agent disconnects from one broker without socket shutdown and connects to the other, before the timeout has occurred. We choose to deal with multiple potential connections via transaction idempotency rather than negotiation between brokers to determine which is correct (because negotiation is a trickier distributed systems problem).\n\npxp-agent currently maintains a metadata store of previously completed non-blocking requests, so it can respond to status requests. Use the existing metadata store to detect when a non-blocking request is received and send an rpc_provisional_response that should be identical to if we were starting a task, but don't start one. The initiator is then expected to send a status request.\n\nThis should be a minor addition to https://github.com/puppetlabs/pxp-agent/blob/1.3.0/lib/src/request_processor.cc#L372-L375 to check the ResultsStorage for the transaction, and return a similar error as when the request is already running. In either case the subsequent action from the controller should be to request the status of that transaction.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31924", "fixedVersions": ["pxp-agent 1.5.0"], "id": "31924", "issueType": "Improvement", "key": "PCP-627", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-04-06T08:11:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent should handle duplicate non-blocking transactions idempotently", "timeSpent": "PT0S", "updated": "2017-04-06T08:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "It looks like the VM clocks are not synced:\n\n{code}07:51:19 Begin setup/common/005_SyncTime.rb\n07:51:19 \n07:51:19 Ensure hosts have synchronized clocks\n07:51:19 Update system time sync for 'redhat7-64-1'\n07:51:19 \n07:51:19 ceq9eg1s6u2wzr7.delivery.puppetlabs.net (redhat7-64-1) 07:51:19$ ntpdate -u -t 20 pool.ntp.org\n07:51:19   25 Oct 07:52:20 ntpdate[9757]: step time server 129.250.35.251 offset 0.615118 sec\n07:52:20 \n07:52:20 ceq9eg1s6u2wzr7.delivery.puppetlabs.net (redhat7-64-1) executed in 60.81 seconds\n07:52:20 NTP date succeeded on ceq9eg1s6u2wzr7.delivery.puppetlabs.net after 1 tries\n07:52:20 Update system time sync for 'windows2016-6432-1'\n07:52:20 \n07:52:20 kxxr2hg31t1o7tq.delivery.puppetlabs.net (windows2016-6432-1) 07:52:20$ w32tm /register\n07:52:20   W32Time successfully registered.\n07:52:20 \n07:52:20 kxxr2hg31t1o7tq.delivery.puppetlabs.net (windows2016-6432-1) executed in 0.09 seconds\n07:52:20 \n07:52:20 kxxr2hg31t1o7tq.delivery.puppetlabs.net (windows2016-6432-1) 07:52:20$ net start w32time\n07:52:20   The requested service has already been started.\n07:52:20   \n07:52:20   More help is available by typing NET HELPMSG 2182.\n07:52:20 \n07:52:20 kxxr2hg31t1o7tq.delivery.puppetlabs.net (windows2016-6432-1) executed in 0.12 seconds\n07:52:20 Exited: 2\n07:52:20 \n07:52:20 kxxr2hg31t1o7tq.delivery.puppetlabs.net (windows2016-6432-1) 07:52:20$ w32tm /config /manualpeerlist:pool.ntp.org /syncfromflags:manual /update\n07:52:20   The command completed successfully.\n07:52:20 \n07:52:20 kxxr2hg31t1o7tq.delivery.puppetlabs.net (windows2016-6432-1) executed in 0.10 seconds\n07:52:20 \n07:52:20 kxxr2hg31t1o7tq.delivery.puppetlabs.net (windows2016-6432-1) 07:52:20$ w32tm /resync\n07:52:20   Sending resync command to local computer\n07:52:20   The computer did not resync because the required time change was too big.\n07:52:22 \n07:52:22 kxxr2hg31t1o7tq.delivery.puppetlabs.net (windows2016-6432-1) executed in 1.51 seconds\n07:52:22 NTP date succeeded on kxxr2hg31t1o7tq.delivery.puppetlabs.net\n07:52:22 Begin teardown\n07:52:22 End teardown\n07:52:22 setup/common/005_SyncTime.rb passed in 62.66 seconds{code}\n\nTwo issues there:\n 1 Whatever is going wrong with the clock\n 2\u00a0beaker is not picking up that its attempted command failed", "created": "2016-10-25T10:11:00.000000"}, {"author": "557058:295d7a84-a09b-4348-8961-a1e1764c190e", "body": "The Win-2016 VM's are set to sync with ntp and not the vSphere.", "created": "2016-10-25T10:13:00.000000"}, {"author": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "body": "The Windows {{timesync}} command is implemented in Beaker as https://github.com/puppetlabs/beaker/blob/355c946185bdda0a67643718b556ccc42a069f24/lib/beaker/host_prebuilt_steps.rb#L43-L51", "created": "2016-10-25T11:09:00.000000"}, {"author": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "body": "After a lot of experimentation on the Windows 2016 template, I ultimately found the the {{timesync}} method completely unreliable on Windows (at least with the expectation that the behavior is deterministic).  On the node in question, turning on the {{w32time}} service, resets the system clock from a correct state back to Aug 1st, 2015 at 12:00AM.  \n\nAt that point calling {{w32tm /resync}} will always fail given the time is more than the default 48 hours allowed as a difference between current clock and what the time server serves up.  The documentation at https://support.microsoft.com/en-us/kb/884776 and https://blogs.msdn.microsoft.com/w32time/2009/02/02/group-policy-settings-explained/ states that this can be controlled via 2 registry settings, but I'm not seeing this work in practice:\n\n{code}\nREM prevent \"The computer did not resync because the required time change was too big\"\n\nREG ADD HKLM\\SYSTEM\\CurrentControlSet\\Services\\W32Time\\Config /v MaxPosPhaseCorrection /t REG_DWORD /d 0xFFFFFFFF /f\nREG ADD HKLM\\SYSTEM\\CurrentControlSet\\Services\\W32Time\\Config /v MaxNegPhaseCorrection /t REG_DWORD /d 0xFFFFFFFF /f\n{code}\n\nThe interesting thing is that the time will eventually start syncing up properly after some amount of time - perhaps that's controlled via the above registry entries, but its unclear.  In practice, it seemed to happen at random intervals.\n\nWithout deterministic behavior, it's hard to rely on the Beaker mechanism - and it might be worth pulling the code or similar until it's something that can be counted on.\n\nAlso worth noting, there's a {{LastKnownGoodTime}} in [FILETIME|https://msdn.microsoft.com/en-us/library/windows/desktop/ms724284(v=vs.85).aspx] format, but it's difficult to convert to / from this format without using PowerShell (i.e. batch is a no-go):\n\n{code}\nPS C:\\Users\\Administrator> $key = Get-ItemProperty -Path Registry::HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\W32Time\\Config\nPS C:\\Users\\Administrator> $value = $key.LastKnownGoodTime\nPS C:\\Users\\Administrator> [DateTime]::FromFileTime($value)\n\nTuesday, October 25, 2016 11:32:54 PM\n{code}", "created": "2016-10-25T18:19:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:263afade-3e4f-46c6-b50a-cf2982192562] or [~accountid:557058:295d7a84-a09b-4348-8961-a1e1764c190e] did this make it though CI yet? Is it still blocking CI from being green (if not, it should perhaps be converted to a Bug)?", "created": "2016-11-28T12:14:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This is no longer causing us a problem on Windows 2016, but I think it may have shown up on Windows 10 this morning: https://jenkins.puppetlabs.com/view/puppet-agent/view/master/view/puppet-agent/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL=beaker,TEST_TARGET=windows10ent-64a/98/console", "created": "2016-12-01T09:57:00.000000"}, {"author": "557058:6713b848-54a4-4f2e-9636-a24860d9c3f2", "body": "Additional PR raised for Windows 10\n\nhttps://github.com/puppetlabs/pxp-agent/pull/521", "created": "2016-12-05T12:14:00.000000"}, {"author": "557058:6713b848-54a4-4f2e-9636-a24860d9c3f2", "body": "Addtional PR merged into LTS-1.7 at", "created": "2016-12-05T12:22:00.000000"}, {"author": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "body": "FYI I raised BKR-1002 to come to a consensus around {{timesync}} in Beaker itself - which has proven to be unreliable depending on how a host node is configured prior to Beaker reaching it.", "created": "2016-12-07T18:20:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:6713b848-54a4-4f2e-9636-a24860d9c3f2] or [~accountid:557058:263afade-3e4f-46c6-b50a-cf2982192562] please provide release notes for this issue, if applicable.", "created": "2016-12-27T10:20:00.000000"}], "components": ["CI Blocker", "pxp-agent package"], "created": "2016-10-25T09:38:00.000000", "creator": "557058:295d7a84-a09b-4348-8961-a1e1764c190e", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform pxp-agent"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4bf4a682"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hymsgv:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Oct/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_3723843137_*|*_1_*:*_1_*:*_10728558_*|*_10007_*:*_1_*:*_25530_*|*_5_*:*_1_*:*_3604617317_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_5280660"}], "description": "Observed on {{Windows-2016-6432a}}\nJenkins Console Log: https://jenkins.puppetlabs.com/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/70/SLAVE_LABEL=beaker,TEST_TARGET=windows2016-6432a/console\n\n\n\n{noformat}\n Agents: Run agent --test second time to obtain signed cert\n07:54:50 \n07:54:50 kxxr2hg31t1o7tq.delivery.puppetlabs.net (windows2016-6432-1) 07:54:50$ cmd.exe /c puppet agent --test --server ceq9eg1s6u2wzr7.delivery.puppetlabs.net\n07:54:50   Info: Caching certificate for kxxr2hg31t1o7tq.delivery.puppetlabs.net\n07:54:58   Exiting; failed to retrieve certificate and waitforcert is disabled\n07:54:58   Error: Could not request certificate: SSL_connect returned=1 errno=0 state=error: certificate verify failed: [certificate is not yet valid for /CN=Puppet CA: ceq9eg1s6u2wzr7.delivery.puppetlabs.net]\n07:54:58 \n07:54:58 kxxr2hg31t1o7tq.delivery.puppetlabs.net (windows2016-6432-1) executed in 8.59 seconds\n07:54:58 Exited: 1\n07:54:58 Beaker::Host::CommandFailure: Host 'kxxr2hg31t1o7tq.delivery.puppetlabs.net' exited with 1 running:\n07:54:58  cmd.exe /c puppet agent --test --server ceq9eg1s6u2wzr7.delivery.puppetlabs.net\n07:54:58 Last 10 lines of output were:\n07:54:58 \tInfo: Caching certificate for kxxr2hg31t1o7tq.delivery.puppetlabs.net\n07:54:58 \tExiting; failed to retrieve certificate and waitforcert is disabled\n07:54:58 \tError: Could not request certificate: SSL_connect returned=1 errno=0 state=error: certificate verify failed: [certificate is not yet valid for /CN=Puppet CA: ceq9eg1s6u2wzr7.delivery.puppetlabs.net]\n07:54:58 /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/windows2016-6432a/pxp-agent/acceptance/setup/common/040_ValidateSignCert.rb:6\n07:54:58 /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/windows2016-6432a/pxp-agent/acceptance/.bundle/gems/gems/beaker-3.1.0/bin/beaker:6\n07:54:58 Begin teardown\n07:54:58 End teardown\n07:54:58 Warning: setup/common/040_ValidateSignCert.rb errored in 30.51 seconds\n07:54:58       Test Suite: pre_suite @ 2016-10-25 07:51:19 -0700\n{noformat}\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31636", "fixedVersions": ["pxp-agent 1.2.3", "pxp-agent 1.3.2"], "id": "31636", "issueType": "CI Blocker", "key": "PCP-625", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Critical", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:295d7a84-a09b-4348-8961-a1e1764c190e", "resolution": "Fixed", "resolutionDate": "2016-12-07T15:30:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent - Tests fail timesync on windows2016-6432a and windows10ent", "timeSpent": "PT0S", "updated": "2017-01-18T09:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Pending work at https://github.com/puppetlabs/pxp-agent/pull/477.", "created": "2016-10-24T12:23:00.000000"}], "components": ["pxp-agent"], "created": "2016-10-24T12:22:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@401d8402"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz9pzr:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Docs in PCP-387."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_66331945_*|*_1_*:*_1_*:*_24980_*|*_10007_*:*_1_*:*_1233125712_*|*_5_*:*_1_*:*_7397357366_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_15078853"}], "description": "Implement support for access logging from cpp-pcp-client, and allow configuration of it.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31923", "fixedVersions": ["pxp-agent 1.4.0"], "id": "31923", "issueType": "Sub-task", "key": "PCP-624", "labels": ["maintenance"], "originalEstimate": "PT0S", "parent": "31581", "parentSummary": "Log pxp-agent accesses", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-11-08T16:31:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Enable access logger in pxp-agent", "timeSpent": "PT0S", "updated": "2017-02-02T07:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2016-10-18T15:37:00.000000", "creator": "557058:4b02db91-705f-4691-a56a-9a839ecbce6e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5ac52bd"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hymfvj:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Fix crash on 32-bit systems when receiving a packet claiming to have more data than can be stored in 32-bit memory addressing."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "30/Nov/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_81160706_*|*_1_*:*_1_*:*_2319377376_*|*_10007_*:*_1_*:*_1272153758_*|*_3_*:*_1_*:*_8368779_*|*_10009_*:*_1_*:*_342665701_*|*_5_*:*_1_*:*_258287879_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_14399788_*|*_10006_*:*_1_*:*_2338158737_*|*_10005_*:*_1_*:*_787138451"}], "description": "The final results of the NCC security audit are in, and one of the items reported is that an attacker may be able to crash the pxp agent on 32 bit systems.\n\nI have scored this vulnerability a 3.1 (https://www.first.org/cvss/calculator/3.0#CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L)\n\nI have attached the description of the vulnerability to this ticket.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31711", "fixedVersions": ["cpp-pcp-client 1.2.1", "cpp-pcp-client 1.3.1"], "id": "31711", "issueType": "Bug", "key": "PCP-622", "labels": ["davis-triage", "ncc-2016", "product-security"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:4b02db91-705f-4691-a56a-9a839ecbce6e", "resolution": "Fixed", "resolutionDate": "2017-01-09T12:27:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Potential crash in PXP Agent Message Parsing", "timeSpent": "PT0S", "updated": "2017-01-18T09:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "attachments": [{"attacher": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "created": "2016-12-02T17:58:00.000000", "name": "Application Events.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12342"}, {"attacher": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "created": "2016-12-02T17:58:00.000000", "name": "System Events.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12352"}], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Slightly further up the console output shows other rogue behaviour", "created": "2016-10-18T13:02:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Failed again today on stable: https://jenkins.puppetlabs.com/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/45/SLAVE_LABEL=beaker,TEST_TARGET=windows10ent-64a/testReport/junit/(root)/tests/invalid_ssl_config_rb/", "created": "2016-10-19T10:58:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] is this still blocking CI? Should this issue be converted to a Bug at this point?", "created": "2016-11-28T12:11:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I'm not sure if we're seeing this exact error anymore, but we are still seeing many transient failures on Windows 10, as described in PCP-665.", "created": "2016-11-28T12:23:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I see a similar issue with the ssh connection disappearing when I try to reproduce this problem. It seems like it's caused because the machine applies a Cumulative Windows Update during the test, and that triggers sshd restarting. See the attached screenshots.\n\n[~accountid:557058:263afade-3e4f-46c6-b50a-cf2982192562] [~accountid:557058:295d7a84-a09b-4348-8961-a1e1764c190e] pretty sure test machines shouldn't be doing system updates.", "created": "2016-12-02T17:56:00.000000"}, {"author": "557058:295d7a84-a09b-4348-8961-a1e1764c190e", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] you are correct - that absolutely should not be happening.\n\nI have just grabbed a win-10-ent machine and as far as I can see Windows Updates are disabled as they should be.\n\nIs there any chance of preserving the machine so I can trace through what happened.\n\n\nTx - John\n", "created": "2016-12-05T03:44:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] what fix version should this have?", "created": "2016-12-05T08:39:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "It's not fixed yet (I usually apply fix version after merging) but if there are any code changes they should target the LTS branch (as this is failing for all puppet-agent test environments).", "created": "2016-12-05T10:20:00.000000"}, {"author": "557058:295d7a84-a09b-4348-8961-a1e1764c190e", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e]\nAs discussed - the win-10-ent-i386 images have Windows Update enabled.\nI have manually disabled this in the template and verified that it is off.\n\n/cc [~accountid:557058:6713b848-54a4-4f2e-9636-a24860d9c3f2]", "created": "2016-12-05T11:32:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I'm not sure if this is still an issue. We've fixed some images and haven't seen it in the last few runs. Resolving, we can re-open if it recurs.", "created": "2016-12-07T15:29:00.000000"}], "components": ["pxp-agent"], "created": "2016-10-18T12:14:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform puppet-agent"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@478122e8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz8pk7:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "18/Oct/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3712364679_*|*_3_*:*_1_*:*_436711195_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_186231236"}], "description": "The invalid_ssl_config acceptance test failed today with this output:\n\n{code}\nx50r3bl9403m7gi.delivery.puppetlabs.net (windows10ent-64-1) 17:41:28$ cmd.exe /c puppet resource service pxp-agent ensure=running\n    Error: Cannot start pxp-agent, error was: Execution of 'C:/Windows/system32/net.exe start pxp-agent' returned 2: The requested service has already been started.\n    \n    More help is available by typing NET HELPMSG 2182.\n    Wrapped exception:\n    Execution of 'C:/Windows/system32/net.exe start pxp-agent' returned 2: The requested service has already been started.\n    \n    More help is available by typing NET HELPMSG 2182.\n    Error: /Service[pxp-agent]/ensure: change from stopped to running failed: Cannot start pxp-agent, error was: Execution of 'C:/Windows/system32/net.exe start pxp-agent' returned 2: The requested service has already been started.\n    \n    More help is available by typing NET HELPMSG 2182.\n    service { 'pxp-agent':\n      ensure => 'stopped',\n    }\n  \n  x50r3bl9403m7gi.delivery.puppetlabs.net (windows10ent-64-1) executed in 3.36 seconds\n  End teardown\n{code}\n\nThe job is here: https://jenkins.puppetlabs.com/view/puppet-agent/view/master/view/puppet-agent/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/63/SLAVE_LABEL=beaker,TEST_TARGET=windows10ent-64a/\n\nThe error disappeared on rerunning the tests.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31967", "fixedVersions": [], "id": "31967", "issueType": "CI Blocker", "key": "PCP-619", "labels": ["maintenance", "transient"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2016-12-07T15:29:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "invalid_ssl_config.rb failing transiently on Windows 10 64-bit", "timeSpent": "PT0S", "updated": "2016-12-07T15:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["cpp-pcp-client"], "created": "2016-10-17T12:02:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@54ebe127"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz9mkn:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Developer library, documented in CHANGELOG."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_598105105_*|*_1_*:*_1_*:*_426306_*|*_10007_*:*_1_*:*_6008940_*|*_5_*:*_1_*:*_345068850_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_59773"}], "description": "Fails when constructing a Boost.Log sink, same as Leatherman.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31922", "fixedVersions": ["cpp-pcp-client 1.3.0"], "id": "31922", "issueType": "Bug", "key": "PCP-617", "labels": ["maintenance"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-10-24T11:58:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Building cpp-pcp-client against Boost 1.62 fails", "timeSpent": "PT0S", "updated": "2016-10-28T11:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "body": "I think that if resource usage in CI isn't an immediate problem, this test does more good than harm by existing.  (loss of time if (when) something breaks and it's not clear what broke) > (extra CI resource usage), in my opinion.  If it's adding an unreasonable amount of time to your testing workflow, or to the time it takes CI to run, then that might not be the case. I'd put \"unreasonable\" at a minute or more, but now thinking about it even 30 seconds does seem like a lot of overhead....", "created": "2016-10-17T13:38:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Won't do.", "created": "2017-01-19T09:13:00.000000"}], "components": ["pxp-agent package", "QA"], "created": "2016-10-17T10:57:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5da9ca1d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz9mhj:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/Oct/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_8118981655_*|*_5_*:*_1_*:*_0"}], "description": "[acceptance/tests/pxp_agent_associate.rb|https://github.com/puppetlabs/pxp-agent/blob/master/acceptance/tests/pxp_agent_associate.rb] asserts that pxp-agent will associate with pcp-broker when it has a good standard config file.\n\nMost of the other test cases will repeat this, as a 'pre-step', to ensure that the test is beginning with pxp-agent in a good known state.\npxp_agent_associate.rb is therefore mostly redundant, because if it doesn't work then most other tests will fail with an explicit failure message.\n\nWe could save on CI resource by just retiring this test.\nThe only consideration towards not retiring the test is if we might have better automated reporting in future; where an explicit test failure for this case becomes valuable information.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31634", "fixedVersions": [], "id": "31634", "issueType": "Improvement", "key": "PCP-616", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Won't Do", "resolutionDate": "2017-01-19T09:13:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Consider retiring acceptance/tests/pxp_agent_associate.rb", "timeSpent": "PT0S", "updated": "2017-01-19T09:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:5f73e620-a5f5-44a8-a863-f1e0061b987a", "body": "[~accountid:557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b] Have you seen this failure? Is it a test issue?", "created": "2016-10-14T13:23:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "[~accountid:557058:5f73e620-a5f5-44a8-a863-f1e0061b987a] this is a new one to me \n\nLooking at [platform_puppet-agent_intn-van-sys_suite-manual-pxp-agent-stable|https://jenkins.puppetlabs.com/view/puppet-agent/view/manual/view/stable/job/platform_puppet-agent_intn-van-sys_suite-manual-pxp-agent-stable/] it appears to have been failing constantly since Sept 30th", "created": "2016-10-14T16:38:00.000000"}, {"author": "557058:5f73e620-a5f5-44a8-a863-f1e0061b987a", "body": "[~accountid:557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b] Had this confused with another issue. Updated to reflect that it's not transient.", "created": "2016-10-14T16:45:00.000000"}, {"author": "557058:5f73e620-a5f5-44a8-a863-f1e0061b987a", "body": "Continuing to fail. Latest failure on Sol10 is at https://jenkins.puppetlabs.com/user/kurt.wall/my-views/view/puppet-agent%20master%20Manual%20Pipeline/job/platform_puppet-agent_intn-van-sys_suite-manual-pxp-agent-master/8/SLAVE_LABEL=beaker,TEST_TARGET=solaris-10-sparc/console.\n\nLatest failure for Sol11 is https://jenkins.puppetlabs.com/user/kurt.wall/my-views/view/puppet-agent%20master%20Manual%20Pipeline/job/platform_puppet-agent_intn-van-sys_suite-manual-pxp-agent-master/8/SLAVE_LABEL=beaker,TEST_TARGET=solaris-11-sparc/console", "created": "2016-11-04T13:51:00.000000"}, {"author": "557058:5f73e620-a5f5-44a8-a863-f1e0061b987a", "body": "Also see an identical failure from a second test, tests/pxp-module-puppet.run_puppet_twice.rb:\n{code}\n          * Wait until Puppet starts executing\n            \n            sol11.delivery.puppetlabs.net (solaris-11-sparc) 13:15:11$ ps -ef | grep '/bin/sleep' | grep -v 'grep'\n              Trying command 15 times.\n            .            .            .            .            .            .            .            .            .            .            .            .            .            .            .            .            .              Command `ps -ef | grep '/bin/sleep' | grep -v 'grep'` failed.\n            RuntimeError: After triggering a puppet run on sol11.delivery.puppetlabs.net the expected sleep process did not appear in process list\n            /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-manual-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/solaris-11-sparc/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_twice.rb:51\n            /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-manual-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/solaris-11-sparc/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_twice.rb:50\n            /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-manual-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/solaris-11-sparc/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_twice.rb:50\n            /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-manual-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/solaris-11-sparc/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_twice.rb:49\n            /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-manual-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/solaris-11-sparc/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_twice.rb:8\n            /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-manual-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/solaris-11-sparc/pxp-agent/acceptance/.bundle/gems/gems/beaker-3.1.0/bin/beaker:6\n...\n{code}\nA couple of examples:\n* https://jenkins.puppetlabs.com/user/kurt.wall/my-views/view/puppet-agent%20master%20Manual%20Pipeline/job/platform_puppet-agent_intn-van-sys_suite-manual-pxp-agent-master/8/SLAVE_LABEL=beaker,TEST_TARGET=solaris-10-sparc/\n* https://jenkins.puppetlabs.com/user/kurt.wall/my-views/view/puppet-agent%20master%20Manual%20Pipeline/job/platform_puppet-agent_intn-van-sys_suite-manual-pxp-agent-master/8/SLAVE_LABEL=beaker,TEST_TARGET=solaris-11-sparc/ \n", "created": "2016-11-04T16:34:00.000000"}, {"author": "557058:5f73e620-a5f5-44a8-a863-f1e0061b987a", "body": "Still failing.\n* Solaris 10 SPARC: https://jenkins.puppetlabs.com/user/kurt.wall/my-views/view/puppet-agent%20master%20Manual%20Pipeline/job/platform_puppet-agent_intn-van-sys_suite-manual-pxp-agent-master/SLAVE_LABEL=beaker,TEST_TARGET=solaris-10-sparc/22/#showFailuresLink\n\n", "created": "2016-12-13T17:24:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "I ran tests locally", "created": "2017-01-23T07:37:00.000000"}, {"author": "557058:5f73e620-a5f5-44a8-a863-f1e0061b987a", "body": "[~accountid:557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b] I'll merge a PR... :D", "created": "2017-01-23T09:18:00.000000"}], "components": ["pxp-agent package"], "created": "2016-10-14T13:06:00.000000", "creator": "557058:5f73e620-a5f5-44a8-a863-f1e0061b987a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@51b2750f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz8pkn:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Oct/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_171744389_*|*_1_*:*_1_*:*_1116583321_*|*_10007_*:*_1_*:*_10092646_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_7593695930"}], "description": "We regularly see failures of this test on Solaris 10. The failure looks like (https://jenkins.puppetlabs.com/user/kurt.wall/my-views/view/puppet-agent%20stable%20Manual%20Pipeline/job/platform_puppet-agent_intn-van-sys_suite-manual-pxp-agent-stable/23/SLAVE_LABEL=beaker,TEST_TARGET=solaris-10-sparc/console):\n{code}\n11:20:09   * Make a non-blocking puppet run request on sol10.delivery.puppetlabs.net\n11:20:09 {:envelope=>{:id=>\"a1f408fe-9d08-45f4-b367-3f4163785a83\", :targets=>[\"pcp://mammon/ruby-pcp-client-16063\"], :message_type=>\"http://puppetlabs.com/rpc_provisional_response\", :sender=>\"pcp://sol10.delivery.puppetlabs.net/agent\", :expires=>\"2016-10-14T18:20:14.964623Z\"}, :data=>{\"transaction_id\"=>\"3f801792-b0e4-4792-bdf4-3e187e9b75ec\"}}  \n11:20:10   * Wait to ensure that Puppet has time to execute manifest\n11:20:10     \n11:20:10     sol10.delivery.puppetlabs.net (solaris-10-sparc) 11:20:10$ ps -ef | grep '/bin/sleep' | grep -v 'grep'\n11:20:10       Trying command 15 times.\n11:20:10     .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .      Command `ps -ef | grep '/bin/sleep' | grep -v 'grep'` failed.\n11:20:43     RuntimeError: After triggering a puppet run on sol10.delivery.puppetlabs.net the expected sleep process did not appear in process list\n11:20:43     /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-manual-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/solaris-10-sparc/pxp-agent/acceptance/tests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb:70\n11:20:43     /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-manual-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/solaris-10-sparc/pxp-agent/acceptance/tests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb:69\n11:20:43     /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-manual-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/solaris-10-sparc/pxp-agent/acceptance/tests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb:54\n11:20:43     /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-manual-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/solaris-10-sparc/pxp-agent/acceptance/tests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb:54\n11:20:43     /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-manual-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/solaris-10-sparc/pxp-agent/acceptance/tests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb:9\n11:20:43     /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-manual-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/solaris-10-sparc/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.51.0/bin/beaker:6\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31709", "fixedVersions": [], "id": "31709", "issueType": "Bug", "key": "PCP-615", "labels": ["CI_Blocker", "pxp_puppet-agent_ci"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:5f73e620-a5f5-44a8-a863-f1e0061b987a", "resolution": "Fixed", "resolutionDate": "2017-01-25T10:08:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "restart_pxp_agent_during_non_blocking_run.rb fails on Solaris sparc 10 & 11", "timeSpent": "PT0S", "updated": "2017-01-26T10:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2016-10-14T12:13:00.000000", "creator": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6a4f2873"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-462"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz9ljb:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_87255989_*|*_1_*:*_1_*:*_217567_*|*_10007_*:*_1_*:*_264719872_*|*_3_*:*_1_*:*_51692_*|*_5_*:*_1_*:*_1272507107_*|*_6_*:*_1_*:*_0"}], "description": "Bump beaker version inside the acceptance Gemfile to 3.1.0, which will allow us to test on the MacOS Sierra (10.12) Platform", "epicLinkSummary": "Add macOS Sierra (10.12) as a supported agent platform", "estimate": "PT0S", "externalId": "31966", "fixedVersions": ["pxp-agent 1.3.1"], "id": "31966", "issueType": "Task", "key": "PCP-614", "labels": [], "originalEstimate": "PT0S", "parent": "57799", "parentSummary": "Add macOS Sierra (10.12) as a supported agent platform", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "resolution": "Fixed", "resolutionDate": "2016-10-18T14:04:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Update beaker version to 3.1.0 to allow MacOS Sierra testing Support", "timeSpent": "PT0S", "updated": "2016-12-05T15:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This seems to be a bug in Boost on that platform. Looking to see if it's a known-issue (maybe fixed post-1.58).", "created": "2017-01-31T12:58:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "The output from websocketpp (when logging is enabled)\n{code}\n[2017-01-31 19:36:35] [info] asio async_connect error: system:25 (Inappropriate ioctl for device)\n[2017-01-31 19:36:35] [info] Error getting remote endpoint: system:107 (Transport endpoint is not connected)\n[2017-01-31 19:36:35] [fail] WebSocket Connection Unknown - \"\" /pcp/ 0 websocketpp.transport.asio:3 Underlying Transport Error\n[2017-01-31 19:36:35] [error] handle_connect error: Underlying Transport Error\n[2017-01-31 19:36:35] [info] asio async_shutdown error: asio.ssl:336462100 (uninitialized)\n{code}\n\nAlso grabbed an {{strace -f -e trace=network}}\n{code}\n[pid  1787] socket(PF_NETLINK, SOCK_RAW, 0) = 9\n[pid  1787] bind(9, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 0\n[pid  1787] getsockname(9, {sa_family=AF_NETLINK, pid=1781, groups=00000000}, [12]) = 0\n[pid  1787] sendto(9, \"\\24\\0\\0\\0\\26\\0\\1\\0034\\346\\220X\\0\\0\\0\\0\\0\\0\\0\\0\", 20, 0, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 20\n[pid  1787] recvmsg(9, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{\"L\\0\\0\\0\\24\\0\\2\\0004\\346\\220X\\365\\6\\0\\0\\2\\10\\200\\376\\1\\0\\0\\0\\10\\0\\1\\0\\177\\0\\0\\1\"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 160\n[pid  1787] recvmsg(9, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{\"H\\0\\0\\0\\24\\0\\2\\0004\\346\\220X\\365\\6\\0\\0\\n\\200\\200\\376\\1\\0\\0\\0\\24\\0\\1\\0\\0\\0\\0\\0\"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 288\n[pid  1787] recvmsg(9, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{\"\\24\\0\\0\\0\\3\\0\\2\\0004\\346\\220X\\365\\6\\0\\0\\0\\0\\0\\0\", 4096}], msg_controllen=0, msg_flags=0}, 0) = 20\n[pid  1787] socket(PF_INET, SOCK_DGRAM|SOCK_NONBLOCK, IPPROTO_IP) = 9\n[pid  1787] connect(9, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr(\"192.168.122.1\")}, 16) = 0\n[pid  1787] sendmmsg(9, {{{msg_name(0)=NULL, msg_iov(1)=[{\"\\346\\271\\1\\0\\0\\1\\0\\0\\0\\0\\0\\0\\17e3qzm2xvg298a26\\10del\"..., 57}], msg_controllen=0, msg_flags=0}, 57}, {{msg_name(0)=NULL, msg_iov(1)=[{\"\\373\\1\\1\\0\\0\\1\\0\\0\\0\\0\\0\\0\\17e3qzm2xvg298a26\\10del\"..., 57}], msg_controllen=0, msg_flags=0}, 57}}, 2, MSG_NOSIGNAL) = 2\n[pid  1787] recvfrom(9, \"\\346\\271\\201\\200\\0\\1\\0\\1\\0\\0\\0\\0\\17e3qzm2xvg298a26\\10del\"..., 2048, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr(\"192.168.122.1\")}, [16]) = 73\n[pid  1787] recvfrom(9, \"\\373\\1\\205\\200\\0\\1\\0\\0\\0\\1\\0\\0\\17e3qzm2xvg298a26\\10del\"..., 1975, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr(\"192.168.122.1\")}, [16]) = 116\n[pid  1786] socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 9\n[pid  1786] getpeername(9, 0x7fa88e9dff80, [28]) = -1 ENOTCONN (Transport endpoint is not connected)\n{code}\n\nMy best guess from those is it attempts to open a socket, but doesn't get a socket for some reason.", "created": "2017-01-31T12:59:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Enabling some extra strace got to what appears to be the root of this: {{ioctl(fd, FIONBIO, ...)}} on the Cisco platform returns an error. This happens in boost.asio code", "created": "2017-01-31T15:52:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Blocked on rebuilding a patched version of boost, BUILD-61.", "created": "2017-01-31T16:59:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "It looks like Puppet runs are really slow on this machine, so several timeouts may need to be increased.\n\nUpdate: nevermind, something else is going on. Puppet runs are failing to write the last_run_report. Specifically Puppet's calls to getaddrinfo are failing.", "created": "2017-01-31T18:03:00.000000"}], "components": ["pxp-agent package"], "created": "2016-10-12T12:43:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5d0cc95b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Contact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker", "value": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b"}, {"fieldName": "QA Risk Assessment", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Automate"}, {"fieldName": "QA Risk Assessment Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Platform fails existing tests and currently is being skipped. QA for this ticket should be to remove the skip for this platform and ensure all existing tests pass reliably."}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hymccn:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Oct/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_351682581_*|*_1_*:*_1_*:*_73770680_*|*_10007_*:*_1_*:*_11823922_*|*_3_*:*_1_*:*_19951472_*|*_5_*:*_1_*:*_1454368125_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_752610618_*|*_10006_*:*_1_*:*_9515590829_*|*_10005_*:*_1_*:*_8951"}], "description": "*To reproduce:*\n * Run pxp-agent acceptance (stable branch) against TEST_TARGET ciscoxr-64a\n\n*What happens:*\n * Almost all the tests fail at the point of asserting that the pxp-agent host is associated with pcp-broker. The only tests that pass are ones that do not actually use a connection (e.g. the file paths test)\n * If you log into the pxp-agent host and examine pxp-agent.log , the agent is not able to establish a websocket with the broker:\n\n{noformat}2016-10-12 16:09:31.397820 INFO  puppetlabs.pxp_agent.main:202 - pxp-agent configuration has been validated\n2016-10-12 16:09:31.401514 INFO  puppetlabs.pxp_agent.util.daemonize:262 - Daemonization completed; pxp-agent PID=6819, PID lock file in '/var/run/puppetlabs/pxp-agent.pid'\n2016-10-12 16:09:31.401831 INFO  puppetlabs.cpp_pcp_client.client_metadata:129 - Retrieved common name from the certificate and determined the client URI: pcp://az73bq69ou7wrt3.delivery.puppetlabs.net/agent\n2016-10-12 16:09:31.402451 INFO  puppetlabs.pxp_agent.request_processor:766 - Loading external modules configuration from /etc/puppetlabs/pxp-agent/modules\n2016-10-12 16:09:31.405601 INFO  puppetlabs.pxp_agent.request_processor:817 - Loading external modules from /opt/puppetlabs/pxp-agent/modules\n2016-10-12 16:09:38.449461 INFO  puppetlabs.pxp_agent.results_storage:221 - About to purge the results directories from '/opt/puppetlabs/pxp-agent/spool'; TTL = 14d\n2016-10-12 16:09:38.449590 INFO  puppetlabs.pxp_agent.results_storage:270 - Removed 0 directories from '/opt/puppetlabs/pxp-agent/spool'\n2016-10-12 16:09:38.450793 INFO  puppetlabs.cpp_pcp_client.connection:394 - Establishing the WebSocket connection with 'wss://xu8ly1mrvy88bbv.delivery.puppetlabs.net:8142/pcp/' with a timeout of 5000 ms\n2016-10-12 16:09:38.564666 INFO  puppetlabs.pxp_agent.request_processor:907 - Starting the task for purging the spool directory every 24192 minutes; thread id 7fcf8205f700\n2016-10-12 16:09:38.568063 WARN  puppetlabs.cpp_pcp_client.connection:540 - WebSocket on fail event (connection loss): Underlying Transport Error (code: 1006)\n2016-10-12 16:09:43.451351 WARN  puppetlabs.cpp_pcp_client.connection:233 - Failed to establish a WebSocket connection; retrying in 2 seconds\n2016-10-12 16:09:43.451556 WARN  puppetlabs.cpp_pcp_client.connection:419 - Failed to connect to wss://xu8ly1mrvy88bbv.delivery.puppetlabs.net:8142/pcp/; switching to wss://xu8ly1mrvy88bbv.delivery.puppetlabs.net:8143/pcp/\n2016-10-12 16:09:45.209593 INFO  puppetlabs.cpp_pcp_client.connection:394 - Establishing the WebSocket connection with 'wss://xu8ly1mrvy88bbv.delivery.puppetlabs.net:8143/pcp/' with a timeout of 5000 ms\n2016-10-12 16:09:45.213666 WARN  puppetlabs.cpp_pcp_client.connection:540 - WebSocket on fail event (connection loss): Underlying Transport Error (code: 1006)\n2016-10-12 16:09:50.289824 WARN  puppetlabs.cpp_pcp_client.connection:233 - Failed to establish a WebSocket connection; retrying in 4 seconds\n2016-10-12 16:09:50.290029 WARN  puppetlabs.cpp_pcp_client.connection:419 - Failed to connect to wss://xu8ly1mrvy88bbv.delivery.puppetlabs.net:8143/pcp/; switching to wss://xu8ly1mrvy88bbv.delivery.puppetlabs.net:8142/pcp/\n2016-10-12 16:09:54.163927 INFO  puppetlabs.cpp_pcp_client.connection:394 - Establishing the WebSocket connection with 'wss://xu8ly1mrvy88bbv.delivery.puppetlabs.net:8142/pcp/' with a timeout of 5000 ms\n2016-10-12 16:09:54.167432 WARN  puppetlabs.cpp_pcp_client.connection:540 - WebSocket on fail event (connection loss): Underlying Transport Error (code: 1006)\n2016-10-12 16:09:59.184954 WARN  puppetlabs.cpp_pcp_client.connection:233 - Failed to establish a WebSocket connection; retrying in 8 seconds\n2016-10-12 16:09:59.185100 WARN  puppetlabs.cpp_pcp_client.connection:419 - Failed to connect to wss://xu8ly1mrvy88bbv.delivery.puppetlabs.net:8142/pcp/; switching to wss://xu8ly1mrvy88bbv.delivery.puppetlabs.net:8143/pcp/\n2016-10-12 16:10:07.124981 INFO  puppetlabs.cpp_pcp_client.connection:394 - Establishing the WebSocket connection with 'wss://xu8ly1mrvy88bbv.delivery.puppetlabs.net:8143/pcp/' with a timeout of 5000 ms\n2016-10-12 16:10:07.129050 WARN  puppetlabs.cpp_pcp_client.connection:540 - WebSocket on fail event (connection loss): Underlying Transport Error (code: 1006)\n2016-10-12 16:10:12.125504 WARN  puppetlabs.cpp_pcp_client.connection:233 - Failed to establish a WebSocket connection; retrying in 16 seconds\n2016-10-12 16:10:12.125596 WARN  puppetlabs.cpp_pcp_client.connection:419 - Failed to connect to wss://xu8ly1mrvy88bbv.delivery.puppetlabs.net:8143/pcp/; switching to wss://xu8ly1mrvy88bbv.delivery.puppetlabs.net:8142/pcp/\n2016-10-12 16:10:28.291523 INFO  puppetlabs.cpp_pcp_client.connection:394 - Establishing the WebSocket connection with 'wss://xu8ly1mrvy88bbv.delivery.puppetlabs.net:8142/pcp/' with a timeout of 5000 ms{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32206", "fixedVersions": ["pxp-agent 1.4.1", "pxp-agent 1.5.2"], "id": "32206", "issueType": "Bug", "key": "PCP-612", "labels": ["maintenance"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2017-02-13T15:01:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent cannot open websockets on cisco_ios_xr-6-x86_64", "timeSpent": "PT0S", "updated": "2017-05-10T14:45:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Output (will paste here in case Jenkins job gets rolled over) indicates that the regex checking for agent PIDs isn't specific enough on Ubuntu and is picking up an additional PID:\n\n{noformat}15:24:02     Begin tests/pxp-module-puppet/run_puppet_twice.rb\n15:24:02     \n15:24:02     Run Puppet while a Puppet Agent run is in-progress, wait for completion\n15:24:02       \n15:24:02       pnnldp0kad0egrb.delivery.puppetlabs.net (redhat7-64-1) 15:24:02$ mkdir -p /tmp/run_puppet_twice_b9vk3qgf/manifests /tmp/run_puppet_twice_b9vk3qgf/modules\n15:24:02       \n15:24:02       pnnldp0kad0egrb.delivery.puppetlabs.net (redhat7-64-1) executed in 0.02 seconds\n15:24:02       \n15:24:02       pnnldp0kad0egrb.delivery.puppetlabs.net (redhat7-64-1) 15:24:02$ ln -sf /tmp/run_puppet_twice_b9vk3qgf /etc/puppetlabs/code/environments/run_puppet_twice_b9vk3qgf\n15:24:02       \n15:24:02       pnnldp0kad0egrb.delivery.puppetlabs.net (redhat7-64-1) executed in 0.02 seconds\n15:24:02       \n15:24:02       * On master, create a new environment that will result in a slow run\n15:24:02         localhost $ scp /tmp/beaker20161024-31447-1fnjjx7 redhat7-64-1:/etc/puppetlabs/code/environments/run_puppet_twice_b9vk3qgf/manifests/site.pp {:ignore => }\n15:24:02         \n15:24:02         pnnldp0kad0egrb.delivery.puppetlabs.net (redhat7-64-1) 15:24:02$ chmod 644 /etc/puppetlabs/code/environments/run_puppet_twice_b9vk3qgf/manifests/site.pp\n15:24:02         \n15:24:02         pnnldp0kad0egrb.delivery.puppetlabs.net (redhat7-64-1) executed in 0.02 seconds\n15:24:02       \n15:24:02       * Ensure each agent host has pxp-agent running and associated\n15:24:02         \n15:24:02         a9ij4ic0rianpy6.delivery.puppetlabs.net (ubuntu1404-64-1) 15:24:02$ puppet resource service pxp-agent ensure=stopped\n15:24:02           Notice: /Service[pxp-agent]/ensure: ensure changed 'running' to 'stopped'\n15:24:03           service { 'pxp-agent':\n15:24:03             ensure => 'stopped',\n15:24:03           }\n15:24:03         \n15:24:03         a9ij4ic0rianpy6.delivery.puppetlabs.net (ubuntu1404-64-1) executed in 1.33 seconds\n15:24:03         \n15:24:03         a9ij4ic0rianpy6.delivery.puppetlabs.net (ubuntu1404-64-1) 15:24:03$ puppet config print ssldir\n15:24:03           /etc/puppetlabs/puppet/ssl\n15:24:04         \n15:24:04         a9ij4ic0rianpy6.delivery.puppetlabs.net (ubuntu1404-64-1) executed in 0.83 seconds\n15:24:04         localhost $ scp /tmp/beaker20161024-31447-brst0f ubuntu1404-64-1:/etc/puppetlabs/pxp-agent/pxp-agent.conf {:ignore => }\n15:24:04         \n15:24:04         a9ij4ic0rianpy6.delivery.puppetlabs.net (ubuntu1404-64-1) 15:24:04$ puppet resource service pxp-agent ensure=running\n15:24:04           Notice: /Service[pxp-agent]/ensure: ensure changed 'stopped' to 'running'\n15:24:05           service { 'pxp-agent':\n15:24:05             ensure => 'running',\n15:24:05           }\n15:24:05         \n15:24:05         a9ij4ic0rianpy6.delivery.puppetlabs.net (ubuntu1404-64-1) executed in 1.07 seconds\n15:24:05       \n15:24:06       * Run Puppet on agents with long-running catalog\n15:24:06 {:envelope=>{:id=>\"3b36ccb6-2ccf-48c6-b819-150c08ce865d\", :targets=>[\"pcp://baalzamon/ruby-pcp-client-31447\"], :message_type=>\"http://puppetlabs.com/rpc_provisional_response\", :sender=>\"pcp://a9ij4ic0rianpy6.delivery.puppetlabs.net/agent\", :expires=>\"2016-10-24T22:24:11.940808Z\"}, :data=>{\"transaction_id\"=>\"5dd1e504-ed12-4bc3-a626-c0f3ef9dea6c\"}}      \n15:24:07       * Wait until Puppet starts executing\n15:24:07         \n15:24:07         a9ij4ic0rianpy6.delivery.puppetlabs.net (ubuntu1404-64-1) 15:24:07$ ps -ef | grep '/bin/sleep' | grep -v 'grep'\n15:24:07           Trying command 15 times.\n15:24:07         .        .        .        \n15:24:11         a9ij4ic0rianpy6.delivery.puppetlabs.net (ubuntu1404-64-1) 15:24:11$ ps -ef | grep '/bin/sleep' | grep -v 'grep' ostensibly successful.\n15:24:11       \n15:24:11       * Run Puppet on agents again\n15:24:11 {:envelope=>{:id=>\"994edd4c-e3d7-438b-a7f7-3bca0c2b71f9\", :targets=>[\"pcp://baalzamon/ruby-pcp-client-31447\"], :message_type=>\"http://puppetlabs.com/rpc_provisional_response\", :sender=>\"pcp://a9ij4ic0rianpy6.delivery.puppetlabs.net/agent\", :expires=>\"2016-10-24T22:24:16.247754Z\"}, :data=>{\"transaction_id\"=>\"151b68e8-29a5-44df-8e96-02c912e59613\"}}      \n15:24:11       * Wait for only one puppet agent PID to exist\n15:24:11         \n15:24:11         a9ij4ic0rianpy6.delivery.puppetlabs.net (ubuntu1404-64-1) 15:24:11$ ps -ef | grep -e 'puppet agent' | grep -v 'grep' | grep -v 'true' | sed 's/^[^0-9]*//g' | cut -d\\  -f1\n15:24:11           1268\n15:24:11           3220\n15:24:11         \n15:24:11         a9ij4ic0rianpy6.delivery.puppetlabs.net (ubuntu1404-64-1) executed in 0.01 seconds\n15:24:11         \n15:24:12         a9ij4ic0rianpy6.delivery.puppetlabs.net (ubuntu1404-64-1) 15:24:12$ ps -ef | grep -e 'puppet agent' | grep -v 'grep' | grep -v 'true' | sed 's/^[^0-9]*//g' | cut -d\\  -f1\n15:24:12           1268\n15:24:12           3220\n15:24:12           3281\n15:24:12         \n15:24:12         a9ij4ic0rianpy6.delivery.puppetlabs.net (ubuntu1404-64-1) executed in 0.02 seconds\n15:24:12         RuntimeError: Test relies on there being either 1 or 2 puppet-agent pids, but somehow 3 pids were detected\n15:24:12         /var/lib/jenkins/workspace/platform_pxp-agent_intn-van-sys_master/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1404-64a/acceptance/tests/pxp-module-puppet/run_puppet_twice.rb:98\n15:24:12         /var/lib/jenkins/workspace/platform_pxp-agent_intn-van-sys_master/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1404-64a/acceptance/tests/pxp-module-puppet/run_puppet_twice.rb:71\n15:24:12         /var/lib/jenkins/workspace/platform_pxp-agent_intn-van-sys_master/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1404-64a/acceptance/tests/pxp-module-puppet/run_puppet_twice.rb:71\n15:24:12         /var/lib/jenkins/workspace/platform_pxp-agent_intn-van-sys_master/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1404-64a/acceptance/tests/pxp-module-puppet/run_puppet_twice.rb:70\n15:24:12         /var/lib/jenkins/workspace/platform_pxp-agent_intn-van-sys_master/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1404-64a/acceptance/tests/pxp-module-puppet/run_puppet_twice.rb:8\n15:24:12         /var/lib/jenkins/workspace/platform_pxp-agent_intn-van-sys_master/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1404-64a/acceptance/.bundle/gems/gems/beaker-3.1.0/bin/beaker:6\n15:24:12         Begin teardown\n15:24:12         \n15:24:12         pnnldp0kad0egrb.delivery.puppetlabs.net (redhat7-64-1) 15:24:12$ rm -rf /etc/puppetlabs/code/environments/run_puppet_twice_b9vk3qgf\n15:24:12         \n15:24:12         pnnldp0kad0egrb.delivery.puppetlabs.net (redhat7-64-1) executed in 0.03 seconds\n15:24:12         \n15:24:12         a9ij4ic0rianpy6.delivery.puppetlabs.net (ubuntu1404-64-1) 15:24:12$ ps -ef | grep 'bin/sleep ' | grep -v 'grep' | grep -v 'true' | sed 's/^[^0-9]*//g' | cut -d\\  -f1\n15:24:12           3266\n15:24:12         \n15:24:12         a9ij4ic0rianpy6.delivery.puppetlabs.net (ubuntu1404-64-1) executed in 0.01 seconds\n15:24:12         \n15:24:12         a9ij4ic0rianpy6.delivery.puppetlabs.net (ubuntu1404-64-1) 15:24:12$ kill -s TERM 3266\n15:24:12         \n15:24:12         a9ij4ic0rianpy6.delivery.puppetlabs.net (ubuntu1404-64-1) executed in 0.00 seconds\n15:24:12         End teardown\n15:24:12         Warning: tests/pxp-module-puppet/run_puppet_twice.rb errored in 10.25 seconds{noformat}\n\n", "created": "2016-10-25T04:26:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Updates to the pre-suite and helper lib (but not the tests!) should be merged from master to stable when the work on this ticket is completed.", "created": "2016-10-28T07:46:00.000000"}], "components": ["pxp-agent package", "QA"], "created": "2016-10-10T11:48:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3bc2c426"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hymne7:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "24/Oct/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_3_*:*_1016216331_*|*_1_*:*_1_*:*_9505432_*|*_10007_*:*_2_*:*_185522678_*|*_3_*:*_3_*:*_702436541_*|*_5_*:*_1_*:*_7942378933_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_67467609"}], "description": "Newer pxp-agent acceptance tests were merged from master back to stable; but stable still does not have the updated code to support them:\n * tests/pxp-module-puppet/run_puppet_during_puppet.rb\n * tests/pxp-module-puppet/run_puppet_killed_puppet.rb\n * tests/pxp-module-puppet/run_puppet_twice.rb\n\nThese tests need removed from stable. Additionally; they need to be reviewed, because they were found to erroneously pass on stable when they should constantly fail.\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32106", "fixedVersions": ["pxp-agent 1.4.0"], "id": "32106", "issueType": "Bug", "key": "PCP-611", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-11-02T10:07:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Newer Run Puppet tests do not belong on stable yet", "timeSpent": "PT0S", "updated": "2017-02-02T07:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "body": "destination report is coerced to a boolean in pcp so it's probably ok", "created": "2016-10-07T15:16:00.000000"}], "components": [], "created": "2016-10-07T15:13:00.000000", "creator": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@19be0f12"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz9cnr:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/Oct/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_11972857_*|*_10007_*:*_1_*:*_313545211_*|*_5_*:*_1_*:*_2523509794_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_5722804"}], "description": "PCP-broker turns messages into ring requests so it can authorize them with tk-auth. Since these messages can be parsed differently by client libraries this can allow malicious messages to bypass authorization.\n\nPCP should make sure that the following params which are used for auth rules are rejected if they contain invalid characters. https://github.com/puppetlabs/pcp-broker/blob/master/src/puppetlabs/pcp/broker/core.clj#L396\n\ndestination_report\ntargets\nmessage_type\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32297", "fixedVersions": ["pcp-broker 0.8.2"], "id": "32297", "issueType": "Bug", "key": "PCP-655", "labels": ["davis-ss", "ncc-2016", "product-security"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "resolution": "Fixed", "resolutionDate": "2016-10-11T11:14:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "PCP broker builds ring requests without enough validation", "timeSpent": "PT0S", "updated": "2016-11-14T11:36:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2016-10-06T15:56:00.000000", "creator": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6d30106d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz9bxb:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_6640_*|*_3_*:*_1_*:*_2685485_*|*_5_*:*_1_*:*_1189816952_*|*_6_*:*_1_*:*_0"}], "description": "for the pending puppet-agent 1.7.1 release", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32296", "fixedVersions": ["pxp-agent 1.2.2"], "id": "32296", "issueType": "Task", "key": "PCP-608", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "resolution": "Fixed", "resolutionDate": "2016-10-20T11:12:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Bump pxp-agent version to 1.2.2", "timeSpent": "PT0S", "updated": "2016-10-27T15:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:e484fb55-2ddc-43a0-968e-11d70ae3153c", "body": "ping [~accountid:557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b] - pinged you on this earlier today, and it surfaced again later in teh afternoon. thoughts? ", "created": "2016-10-05T16:19:00.000000"}, {"author": "557058:e484fb55-2ddc-43a0-968e-11d70ae3153c", "body": "Note - this ticket should be Internal only until the puppet agent 1.7.1 release ", "created": "2016-10-05T16:21:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "[~accountid:557058:e484fb55-2ddc-43a0-968e-11d70ae3153c] I raised this as PCP-606 but didn't CC/ping you on it, sorry. I'll close that ticket as a duplicate of this one. I've already reproduced this failure once locally", "created": "2016-10-06T02:43:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "This failure occurs roughly 1 in 4 test executions with quite random distribution.\n\nThe actual error reported is that Puppet agent is already running:\n{code}  * Check response to 2nd non-blocking request for pcp://i6o74k5t5jeinc8.delivery.puppetlabs.net/agent\n{:envelope=>{:id=>\"3e887805-2cd5-4f3a-96c9-8c8c0dce0188\", :targets=>[\"pcp://test-development/ruby-pcp-client-7729\"], :message_type=>\"http://puppetlabs.com/rpc_blocking_response\", :sender=>\"pcp://i6o74k5t5jeinc8.delivery.puppetlabs.net/agent\", :expires=>\"2016-10-06T10\n:06:46.080051Z\"}, :data=>{\"transaction_id\"=>\"70c88ce6-be02-4ca7-a784-c31c8c86c583\", \"results\"=>{\"transaction_id\"=>\"4f30dd3d-3741-4665-aa9a-37f5e521117e\", \"exitcode\"=>1, \"status\"=>\"failure\", \"stdout\"=>\"{\\\"kind\\\":\\\"unknown\\\",\\\"time\\\":\\\"unknown\\\",\\\"transaction_uuid\\\":\\\"\nunknown\\\",\\\"environment\\\":\\\"unknown\\\",\\\"status\\\":\\\"unknown\\\",\\\"exitcode\\\":1,\\\"version\\\":1,\\\"error_type\\\":\\\"agent_already_running\\\",\\\"error\\\":\\\"Puppet agent is already performing a run\\\"}\"}}}{code}\n\nLooking at the sequence of test steps and the error message ( agent_already_running ) this appears to be a bug with pxp-agent rather than an issue with the test case.\nIn this case, pxp-agent is supposed to queue up the 2nd Puppet run and start it when the first Puppet run finishes. This error suggests pxp-agent is using its old behaviour of simply returning a agent_already_running error.", "created": "2016-10-06T04:21:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "[~accountid:557058:e484fb55-2ddc-43a0-968e-11d70ae3153c] this is most probably not related to the fixes which went into the CVE pipeline. I'll look into it to confirm.", "created": "2016-10-06T04:55:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "So it turns out the version of pxp-module-puppet installed on the win2k8 platform is not up-to-date and is missing the commits the failing tests are exercising.\n-Worse the CVE fix for PCP-601 is not there either.-\nEdit: This is not true for the CVE pipeline, I was looking at an environment which used packages built from the public repo's stable branch.", "created": "2016-10-06T06:57:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "From examining the issue with [~accountid:557058:093475a3-6bc8-4a70-8034-ae5a2ea66512] , it appears that the test is not appropriate to the stable branch because the functionality it tests is not merged from master back to stable yet.\n\nThere are therefore 3 concerns for this ticket:\n# The test needs to be deleted from CVE and stable branches\n# The test is faulty - it was not intermittently failing on Windows 2008", "created": "2016-10-06T07:08:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "PR to remove the test from CVE: https://github.com/puppetlabs/pxp-agent-cve/pull/19", "created": "2016-10-06T08:06:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Marking this as done - there is still work to do in fixing the test case so it fails when required. That can be done on public stable under PCP-611", "created": "2016-10-14T10:48:00.000000"}], "components": ["pxp-agent package"], "created": "2016-10-05T16:17:00.000000", "creator": "557058:e484fb55-2ddc-43a0-968e-11d70ae3153c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4e1516bf"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz9b1b:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/Oct/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_37605091_*|*_3_*:*_2_*:*_710532750_*|*_5_*:*_1_*:*_519831182_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_9693556"}], "description": "Twice today we've seen the same failure in the PXP agent tests against puppet-agent / stable (once against the cve pipeline from which this output was generated):\n{code}\n  Run Puppet while a Puppet Agent run is in-progress, wait for completion\n...\n\n        * Signal sleep process to end so 1st Puppet run will complete\n          \n          lmmo9ow7x8rg9ei.delivery.puppetlabs.net (windows2008r2-64-1) 13:54:25$ ps -efW | grep PING | sed 's/^[^0-9]*[0-9]*[^0-9]*//g' | cut -d ' ' -f1\n            2200\n          \n          lmmo9ow7x8rg9ei.delivery.puppetlabs.net (windows2008r2-64-1) executed in 1.88 seconds\n          \n          lmmo9ow7x8rg9ei.delivery.puppetlabs.net (windows2008r2-64-1) 13:54:27$ taskkill /F /pid 2200\n            SUCCESS: The process with PID 2200 has been terminated.\n          \n          lmmo9ow7x8rg9ei.delivery.puppetlabs.net (windows2008r2-64-1) executed in 1.00 seconds\n        \n        * Check response to 1st non-blocking request for pcp://lmmo9ow7x8rg9ei.delivery.puppetlabs.net/agent\n        \n        * Check response to 2nd non-blocking request for pcp://lmmo9ow7x8rg9ei.delivery.puppetlabs.net/agent\n          Minitest::Assertion: PXP run puppet action did not have expected 'success' result.\n          Expected: \"success\"\n            Actual: \"failure\"\n          /var/lib/jenkins/workspace/platform_puppet-agent-cve_intn-van-sys_suite-daily-pxp-agent-pcp-601-1.7.x/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_twice.rb:70\n          /var/lib/jenkins/workspace/platform_puppet-agent-cve_intn-van-sys_suite-daily-pxp-agent-pcp-601-1.7.x/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_twice.rb:69\n          /var/lib/jenkins/workspace/platform_puppet-agent-cve_intn-van-sys_suite-daily-pxp-agent-pcp-601-1.7.x/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_twice.rb:68\n          /var/lib/jenkins/workspace/platform_puppet-agent-cve_intn-van-sys_suite-daily-pxp-agent-pcp-601-1.7.x/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_twice.rb:68\n          /var/lib/jenkins/workspace/platform_puppet-agent-cve_intn-van-sys_suite-daily-pxp-agent-pcp-601-1.7.x/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_twice.rb:8\n          /var/lib/jenkins/workspace/platform_puppet-agent-cve_intn-van-sys_suite-daily-pxp-agent-pcp-601-1.7.x/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.51.0/bin/beaker:6\n          Begin teardown\n{code}\n\nFirst failure: https://jenkins.puppetlabs.com/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/38/\n\nSecond failure: https://jenkins.puppetlabs.com/view/puppet-agent-cve/job/platform_puppet-agent-cve_intn-van-sys_suite-daily-pxp-agent-pcp-601-1.7.x/SLAVE_LABEL=beaker,TEST_TARGET=windows2008r2-64a/1/testReport/junit/(root)/tests_pxp-module-puppet/run_puppet_twice_rb/\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31920", "fixedVersions": ["pxp-agent 1.2.2"], "id": "31920", "issueType": "Bug", "key": "PCP-607", "labels": ["pxp_puppet-agent_ci"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:e484fb55-2ddc-43a0-968e-11d70ae3153c", "resolution": "Fixed", "resolutionDate": "2016-10-14T10:48:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "test run_puppet_twice.rb failing sporadically on windows 2008 r2", "timeSpent": "PT0S", "updated": "2016-10-27T15:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Duplicate of PCP-607", "created": "2016-10-06T02:45:00.000000"}], "components": ["pxp-agent package", "QA"], "created": "2016-10-05T10:52:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7fcfd7c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz9a2n:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_57151210_*|*_5_*:*_1_*:*_0"}], "description": "Seen on Jenkins:\nhttps://jenkins.puppetlabs.com/view/puppet-agent%20suite%20pipelines/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/38/SLAVE_LABEL=beaker,TEST_TARGET=windows2008r2-6432a/testReport/junit/(root)/tests_pxp-module-puppet/run_puppet_twice_rb/\n\nThis job was kicked off again and the test passed.\nWhen I checked with a local execution, it failed for me as well...\n\n{code}\n      Begin tests/pxp-module-puppet/run_puppet_twice.rb\n\n      Run Puppet while a Puppet Agent run is in-progress, wait for completion\n\n        c7jutifmwp7i8y5.delivery.puppetlabs.net (redhat7-64-1) 16:30:58$ mkdir -p /tmp/run_puppet_twice_b9xsw2ra/manifests /tmp/run_puppet_twice_b9xsw2ra/modules\n\n        c7jutifmwp7i8y5.delivery.puppetlabs.net (redhat7-64-1) executed in 0.01 seconds\n\n        c7jutifmwp7i8y5.delivery.puppetlabs.net (redhat7-64-1) 16:30:58$ ln -sf /tmp/run_puppet_twice_b9xsw2ra /etc/puppetlabs/code/environments/run_puppet_twice_b9xsw2ra\n\n        c7jutifmwp7i8y5.delivery.puppetlabs.net (redhat7-64-1) executed in 0.01 seconds\n\n        * On master, create a new environment that will result in a slow run\n          localhost $ scp /tmp/beaker20161005-19365-1vvo20b redhat7-64-1:/etc/puppetlabs/code/environments/run_puppet_twice_b9xsw2ra/manifests/site.pp {:ignore => }\n\n          c7jutifmwp7i8y5.delivery.puppetlabs.net (redhat7-64-1) 16:30:58$ chmod 644 /etc/puppetlabs/code/environments/run_puppet_twice_b9xsw2ra/manifests/site.pp\n\n          c7jutifmwp7i8y5.delivery.puppetlabs.net (redhat7-64-1) executed in 0.01 seconds\n\n        * Ensure each agent host has pxp-agent running and associated\n\n          q7cky2uiil37ckt.delivery.puppetlabs.net (windows2008r2-6432-1) 16:30:58$ cmd.exe /c puppet resource service pxp-agent ensure=stopped\n            Notice: /Service[pxp-agent]/ensure: ensure changed 'running' to 'stopped'\n            service { 'pxp-agent':\n              ensure => 'stopped',\n            }\n\n          q7cky2uiil37ckt.delivery.puppetlabs.net (windows2008r2-6432-1) executed in 9.31 seconds\n\n          q7cky2uiil37ckt.delivery.puppetlabs.net (windows2008r2-6432-1) 16:31:07$ cmd.exe /c puppet config print ssldir\n            C:/ProgramData/PuppetLabs/puppet/etc/ssl\n\n          q7cky2uiil37ckt.delivery.puppetlabs.net (windows2008r2-6432-1) executed in 1.37 seconds\n          localhost $ scp /tmp/beaker20161005-19365-160jql7 windows2008r2-6432-1:/cygdrive/c/ProgramData/PuppetLabs/pxp-agent/etc/pxp-agent.conf {:ignore => }\n\n          q7cky2uiil37ckt.delivery.puppetlabs.net (windows2008r2-6432-1) 16:31:09$ cmd.exe /c puppet resource service pxp-agent ensure=running\n            Notice: /Service[pxp-agent]/ensure: ensure changed 'stopped' to 'running'\n            service { 'pxp-agent':\n              ensure => 'running',\n            }\n\n          q7cky2uiil37ckt.delivery.puppetlabs.net (windows2008r2-6432-1) executed in 8.48 seconds\n\n        * Run Puppet on agents with long-running catalog\n{:envelope=>{:id=>\"6c55f1a6-3f98-47f0-9bd6-5a0828763a31\", :targets=>[\"pcp://test-development/ruby-pcp-client-19365\"], :message_type=>\"http://puppetlabs.com/rpc_provisional_response\", :sender=>\"pcp://q7cky\n2uiil37ckt.delivery.puppetlabs.net/agent\", :expires=>\"2016-10-05T16:31:22.863019Z\"}, :data=>{\"transaction_id\"=>\"91f74694-ae71-451d-bd87-33f0059c7f04\"}}\n        * Wait until Puppet starts executing\n\n          q7cky2uiil37ckt.delivery.puppetlabs.net (windows2008r2-6432-1) 16:31:17$ ps -efW | grep 'PING' | grep -v 'grep'\n            Trying command 15 times.\n          .          .          .          .\n          q7cky2uiil37ckt.delivery.puppetlabs.net (windows2008r2-6432-1) 16:31:29$ ps -efW | grep 'PING' | grep -v 'grep' ostensibly successful.\n\n        * Run Puppet on agents again\n{:envelope=>{:id=>\"c1a52a1b-7b39-4f9f-9ce7-6599733bdb11\", :targets=>[\"pcp://test-development/ruby-pcp-client-19365\"], :message_type=>\"http://puppetlabs.com/rpc_provisional_response\", :sender=>\"pcp://q7cky\n2uiil37ckt.delivery.puppetlabs.net/agent\", :expires=>\"2016-10-05T16:31:34.625440Z\"}, :data=>{\"transaction_id\"=>\"d4835379-a9b7-4c0f-969c-20c941a9995c\"}}\n        * Signal sleep process to end so 1st Puppet run will complete\n\n          q7cky2uiil37ckt.delivery.puppetlabs.net (windows2008r2-6432-1) 16:31:29$ ps -efW | grep PING | sed 's/^[^0-9]*[0-9]*[^0-9]*//g' | cut -d ' ' -f1\n            2852\n\n          q7cky2uiil37ckt.delivery.puppetlabs.net (windows2008r2-6432-1) executed in 1.68 seconds\n\n          q7cky2uiil37ckt.delivery.puppetlabs.net (windows2008r2-6432-1) 16:31:31$ taskkill /F /pid 2852\n            SUCCESS: The process with PID 2852 has been terminated.\n\n          q7cky2uiil37ckt.delivery.puppetlabs.net (windows2008r2-6432-1) executed in 1.13 seconds\n\n        * Check response to 1st non-blocking request for pcp://q7cky2uiil37ckt.delivery.puppetlabs.net/agent\n{:envelope=>{:id=>\"d8d4b80d-14ee-45c0-a365-132e4bfbba5f\", :targets=>[\"pcp://test-development/ruby-pcp-client-19365\"], :message_type=>\"http://puppetlabs.com/rpc_blocking_response\", :sender=>\"pcp://q7cky2ui\nil37ckt.delivery.puppetlabs.net/agent\", :expires=>\"2016-10-05T16:31:37.558245Z\"}, :data=>{\"transaction_id\"=>\"d86353ad-248c-4ceb-aa43-35738e1cf384\", \"results\"=>{\"transaction_id\"=>\"91f74694-ae71-451d-bd87-3\n3f0059c7f04\", \"status\"=>\"running\"}}}{:envelope=>{:id=>\"7f3ca64b-9479-4247-bb4a-e2d58b568919\", :targets=>[\"pcp://test-development/ruby-pcp-client-19365\"], :message_type=>\"http://puppetlabs.com/rpc_blocking\n_response\", :sender=>\"pcp://q7cky2uiil37ckt.delivery.puppetlabs.net/agent\", :expires=>\"2016-10-05T16:31:38.697047Z\"}, :data=>{\"transaction_id\"=>\"4f8bda4b-b0b3-4d76-b1fd-84c35cb552ad\", \"results\"=>{\"transac\ntion_id\"=>\"91f74694-ae71-451d-bd87-33f0059c7f04\", \"status\"=>\"running\"}}}{:envelope=>{:id=>\"dc574400-166b-455f-93c8-15bd533ad00a\", :targets=>[\"pcp://test-development/ruby-pcp-client-19365\"], :message_type=\n>\"http://puppetlabs.com/rpc_blocking_response\", :sender=>\"pcp://q7cky2uiil37ckt.delivery.puppetlabs.net/agent\", :expires=>\"2016-10-05T16:31:39.820249Z\"}, :data=>{\"transaction_id\"=>\"e8c12f26-ec5e-4223-b0e6\n-c057913c45cd\", \"results\"=>{\"transaction_id\"=>\"91f74694-ae71-451d-bd87-33f0059c7f04\", \"status\"=>\"running\"}}}{:envelope=>{:id=>\"bbc12c7d-c2ac-4da0-aa55-7afd06ef0fb2\", :targets=>[\"pcp://test-development/rub\ny-pcp-client-19365\"], :message_type=>\"http://puppetlabs.com/rpc_blocking_response\", :sender=>\"pcp://q7cky2uiil37ckt.delivery.puppetlabs.net/agent\", :expires=>\"2016-10-05T16:31:40.927851Z\"}, :data=>{\"trans\naction_id\"=>\"890b5a96-f995-440b-b69a-04df3cea11b6\", \"results\"=>{\"transaction_id\"=>\"91f74694-ae71-451d-bd87-33f0059c7f04\", \"status\"=>\"running\"}}}{:envelope=>{:id=>\"a3bf5568-fd48-4ff9-9b27-d36e38faee50\", :t\nargets=>[\"pcp://test-development/ruby-pcp-client-19365\"], :message_type=>\"http://puppetlabs.com/rpc_blocking_response\", :sender=>\"pcp://q7cky2uiil37ckt.delivery.puppetlabs.net/agent\", :expires=>\"2016-10-0\n5T16:31:42.051053Z\"}, :data=>{\"transaction_id\"=>\"94e6abca-ea87-4546-87c7-7d2c06d575a6\", \"results\"=>{\"transaction_id\"=>\"91f74694-ae71-451d-bd87-33f0059c7f04\", \"status\"=>\"running\"}}}{:envelope=>{:id=>\"f3e60\n249-eede-484f-bf64-86543ff2d992\", :targets=>[\"pcp://test-development/ruby-pcp-client-19365\"], :message_type=>\"http://puppetlabs.com/rpc_blocking_response\", :sender=>\"pcp://q7cky2uiil37ckt.delivery.puppetl\nabs.net/agent\", :expires=>\"2016-10-05T16:31:43.205455Z\"}, :data=>{\"transaction_id\"=>\"21bb273a-654f-44a6-bd09-b9d1364666d4\", \"results\"=>{\"transaction_id\"=>\"91f74694-ae71-451d-bd87-33f0059c7f04\", \"status\"=>\n\"running\"}}}{:envelope=>{:id=>\"9b5086c3-3f25-4f70-be7e-b4f4e1d098da\", :targets=>[\"pcp://test-development/ruby-pcp-client-19365\"], :message_type=>\"http://puppetlabs.com/rpc_blocking_response\", :sender=>\"pc\np://q7cky2uiil37ckt.delivery.puppetlabs.net/agent\", :expires=>\"2016-10-05T16:31:44.328657Z\"}, :data=>{\"transaction_id\"=>\"a3b112eb-c11f-41a4-8b4c-c1b40d63cf88\", \"results\"=>{\"transaction_id\"=>\"91f74694-ae71\n-451d-bd87-33f0059c7f04\", \"status\"=>\"running\"}}}{:envelope=>{:id=>\"bbc573f9-f589-4268-9c03-11e9a9b05dd2\", :targets=>[\"pcp://test-development/ruby-pcp-client-19365\"], :message_type=>\"http://puppetlabs.com/\nrpc_blocking_response\", :sender=>\"pcp://q7cky2uiil37ckt.delivery.puppetlabs.net/agent\", :expires=>\"2016-10-05T16:31:45.467459Z\"}, :data=>{\"transaction_id\"=>\"7e2a5d3a-cc52-4230-8109-8028f875a62d\", \"results\n\"=>{\"transaction_id\"=>\"91f74694-ae71-451d-bd87-33f0059c7f04\", \"status\"=>\"running\"}}}{:envelope=>{:id=>\"dfe7b82e-34e5-4ed5-a48c-f79025c67280\", :targets=>[\"pcp://test-development/ruby-pcp-client-19365\"], :m\nessage_type=>\"http://puppetlabs.com/rpc_blocking_response\", :sender=>\"pcp://q7cky2uiil37ckt.delivery.puppetlabs.net/agent\", :expires=>\"2016-10-05T16:31:46.590661Z\"}, :data=>{\"transaction_id\"=>\"e0f966c9-34\n7c-4e11-a731-d6a2a270a390\", \"results\"=>{\"transaction_id\"=>\"91f74694-ae71-451d-bd87-33f0059c7f04\", \"exitcode\"=>0, \"status\"=>\"success\", \"stdout\"=>\"{\\\"kind\\\":\\\"apply\\\",\\\"time\\\":\\\"2016-10-05 09:31:28 -0700\\\",\n\\\"transaction_uuid\\\":\\\"d96757b2-127c-45cd-b622-0e05048f0ec4\\\",\\\"environment\\\":\\\"run_puppet_twice_b9xsw2ra\\\",\\\"status\\\":\\\"changed\\\",\\\"exitcode\\\":0,\\\"version\\\":1}\"}}}\n        * Check response to 2nd non-blocking request for pcp://q7cky2uiil37ckt.delivery.puppetlabs.net/agent\n{:envelope=>{:id=>\"0a301eee-601b-4e66-9657-d71fcf58a4a9\", :targets=>[\"pcp://test-development/ruby-pcp-client-19365\"], :message_type=>\"http://puppetlabs.com/rpc_blocking_response\", :sender=>\"pcp://q7cky2ui\nil37ckt.delivery.puppetlabs.net/agent\", :expires=>\"2016-10-05T16:31:46.699861Z\"}, :data=>{\"transaction_id\"=>\"3fc72c78-2020-44e1-b287-4efe23c5967d\", \"results\"=>{\"transaction_id\"=>\"d4835379-a9b7-4c0f-969c-2\n0c941a9995c\", \"exitcode\"=>1, \"status\"=>\"failure\", \"stdout\"=>\"{\\\"kind\\\":\\\"unknown\\\",\\\"time\\\":\\\"unknown\\\",\\\"transaction_uuid\\\":\\\"unknown\\\",\\\"environment\\\":\\\"unknown\\\",\\\"status\\\":\\\"unknown\\\",\\\"exitcode\\\":1,\\\n\"version\\\":1,\\\"error_type\\\":\\\"agent_already_running\\\",\\\"error\\\":\\\"Puppet agent is already performing a run\\\"}\"}}}          Minitest::Assertion: PXP run puppet action did not have expected 'success' result\n.\n          Expected: \"success\"\n            Actual: \"failure\"\n          /home/centos/code/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_twice.rb:70\n          /home/centos/code/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_twice.rb:69\n          /home/centos/code/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_twice.rb:68\n          /home/centos/code/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_twice.rb:68\n          /home/centos/code/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_twice.rb:8\n          /home/centos/.rvm/gems/ruby-2.1.4/gems/beaker-2.50.0/bin/beaker:6\n          /home/centos/.rvm/gems/ruby-2.1.4/bin/ruby_executable_hooks:15\n          /home/centos/.rvm/gems/ruby-2.1.4/bin/ruby_executable_hooks:15\n          Begin teardown\n\n          c7jutifmwp7i8y5.delivery.puppetlabs.net (redhat7-64-1) 16:31:41$ rm -rf /etc/puppetlabs/code/environments/run_puppet_twice_b9xsw2ra\n\n          c7jutifmwp7i8y5.delivery.puppetlabs.net (redhat7-64-1) executed in 0.01 seconds\n\n          q7cky2uiil37ckt.delivery.puppetlabs.net (windows2008r2-6432-1) 16:31:41$ ps -efW | grep PING | sed 's/^[^0-9]*[0-9]*[^0-9]*//g' | cut -d ' ' -f1\n\n          q7cky2uiil37ckt.delivery.puppetlabs.net (windows2008r2-6432-1) executed in 0.09 seconds\n          End teardown\n          tests/pxp-module-puppet/run_puppet_twice.rb failed in 43.70 seconds\n{code}\n\nInitially not sure what the cause is here - the test appears to succeed in terminating sleep but then the puppet run that should finish is still running.\nThe termination command seems to grep PING from the process list instead of 'sleep' - is that correct? It also does that when the test passes.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31774", "fixedVersions": [], "id": "31774", "issueType": "Bug", "key": "PCP-606", "labels": ["pxp_puppet-agent_ci"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Duplicate", "resolutionDate": "2016-10-06T02:45:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "run_puppet_twice.rb transient failure on windows2008r2-6432a", "timeSpent": "PT0S", "updated": "2016-10-06T02:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Hi [~accountid:557058:e484fb55-2ddc-43a0-968e-11d70ae3153c] - \n\nI noticed that when testing PCP-585 this week, fedora24-32a returns from a reboot in timely manner", "created": "2016-10-04T15:05:00.000000"}, {"author": "557058:e484fb55-2ddc-43a0-968e-11d70ae3153c", "body": "+1", "created": "2016-10-04T15:10:00.000000"}], "components": [], "created": "2016-10-04T13:34:00.000000", "creator": "557058:e484fb55-2ddc-43a0-968e-11d70ae3153c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@f074d4b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz993r:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "04/Oct/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_29087_*|*_10007_*:*_1_*:*_693503421_*|*_5_*:*_1_*:*_680310844_*|*_6_*:*_1_*:*_0"}], "description": "This is a PCP ticket to track https://github.com/puppetlabs/pxp-agent/pull/491. In QENG-4371, we note that our Fedora platforms take between 5 and 20 minutes to reboot, often causing acceptance/tests/restart_host_run_puppet.rb to time out and fail. This ticket is to disable that test on Fedora until QENG-4371 is resolved as it is causing consistent failures of the puppet agent pipeline.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31632", "fixedVersions": ["pxp-agent 1.2.2"], "id": "31632", "issueType": "Bug", "key": "PCP-605", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:e484fb55-2ddc-43a0-968e-11d70ae3153c", "resolution": "Fixed", "resolutionDate": "2016-10-12T14:13:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Disable fedora on reboot test (QENG-4371)", "timeSpent": "PT0S", "updated": "2016-10-20T11:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:362bc1c3-742f-4428-a556-fa2b03887e0f", "body": "[~accountid:557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b] I am trying to repro your error. Can I run/build from MacOS? I'm hitting an error trying to build Leatherman.", "created": "2016-10-20T15:50:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "[~accountid:557058:362bc1c3-742f-4428-a556-fa2b03887e0f] can you give details about the error?", "created": "2016-10-25T12:55:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "[~accountid:557058:362bc1c3-742f-4428-a556-fa2b03887e0f] - only seeing this now, sorry. Error output would be useful. Mentioning Leatherman build errors suggests you're trying to build pcp-test? If you go into the acceptance folder, either the _rake acceptance_ or _rake load_ task will fetch an installer package from builds.d.p.n - no building necessary. \nI've only developed this on CentOS 7 but it's all beaker code so should work fine on OSX", "created": "2016-10-25T13:10:00.000000"}, {"author": "557058:362bc1c3-742f-4428-a556-fa2b03887e0f", "body": "Sorry I've dropped the thread on this guys, I simply have no idea how to repro the test. The error was from just trying to build Leatherman, which evidently requires Cmake 3.2.2 or above.", "created": "2016-11-01T10:53:00.000000"}, {"author": "557058:362bc1c3-742f-4428-a556-fa2b03887e0f", "body": "Trying to build/run on a vmpooler system to get a positive result first, but i hit the following:\n{noformat}\n[root@fa8a2bk2pun6iky acceptance]# rake load\nThe host config for beaker to use\nThe CLI flag '--hosts' will be used with value 'config/nodes/el7-ec2.cfg'.\nThe path to test(s) that beaker should run\nThe CLI flag '--tests' will be used with value 'tests'.\nOptions file that beaker should use\nThe CLI flag '--options-file' will be used with value 'config/options.rb'.\nBeaker's helper lib\nThe CLI flag '--helper' will be used with value 'lib/helper.rb'.\nIf beaker should proxy package repos\nThe CLI flag '--repo-proxy' will be used with value 'true'.\nERROR: The environment variable: 'SUITE_COMMIT' is required: The SHA of the pcp-test build to test\nERROR: The environment variable: 'PUPPET_AGENT_SHA' is required: The SHA of the puppet-agent package used to build pcp-test\n{noformat}", "created": "2016-11-01T16:31:00.000000"}, {"author": "557058:96a443bf-a3ab-426b-9442-ce50c9977428", "body": "[~accountid:557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b] can you update on the status of this ticket? Is it still blocked?", "created": "2016-11-02T10:09:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "No current plan to test pcp-broker using pcp-test , this ticket is not needed. Re-open if a plan is made.", "created": "2017-01-18T06:41:00.000000"}], "components": ["pcp-test", "QA"], "created": "2016-10-04T03:53:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Rake task in pcp-test's acceptance Rakefile that will run pcp-test on EC2 hosts.\nNo requirement for the parameters of the test, or the results format at this point."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@69a945f9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hymmdj:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/Oct/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_260308487_*|*_3_*:*_2_*:*_2319682318_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_2_*:*_6592094470"}], "description": "Rake task in pcp-test's acceptance Rakefile that will run pcp-test on EC2 hosts.\nNo requirement for the parameters of the test, or the results format at this point. On completion of this ticket, work with perf team on next steps.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31630", "fixedVersions": [], "id": "31630", "issueType": "Task", "key": "PCP-604", "labels": [], "originalEstimate": "PT0S", "parent": "31796", "parentSummary": "Set up component performance testing for pcp-broker using pcp-test", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Won't Do", "resolutionDate": "2017-01-18T06:41:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Create rake test to run pcp-test against EC2 hosts", "timeSpent": "PT0S", "updated": "2017-01-18T06:41:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:669d4655-0c85-469a-a11c-e5290cf2955d", "attachments": [], "comments": [{"author": "557058:669d4655-0c85-469a-a11c-e5290cf2955d", "body": "[~accountid:557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b] Could I get some of your time to explain to me the test cases that are needed here? ", "created": "2017-05-02T10:56:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "I believe the ticket is to review the PDF report attached to https://puppet.atlassian.net/browse/RE-8081 and ensure that we have all the test coverage we need for what the report tells us. \n\nFrom a quick look back at that PDF, it's quite specific to one part of pxp-module-puppet and I doubt there is any more to worry about.", "created": "2017-05-24T15:03:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This can probably be made public.", "created": "2017-06-10T13:36:00.000000"}], "components": ["pxp-agent package", "QA"], "created": "2016-10-04T03:49:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Test cases filed in [Test Rail|https://testrail.ops.puppetlabs.net/index.php?/suites/view/375&group_by=cases:section_id&group_order=asc] , each marked as \"Automated\" and linking to their beaker test file on Github"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5ff2ca53"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hylybb:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/May/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3571247133_*|*_10007_*:*_1_*:*_327621424_*|*_3_*:*_1_*:*_1900010897_*|*_5_*:*_1_*:*_2518810986_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_14785558050"}], "description": "PCP-601 highlights two cases where the pxp-module-puppet whitelist for puppet agent flags can be bypassed\n\nExamine the PDF attached to RE-8081 and add test cases for these exploits and anything found in the same area", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31536", "fixedVersions": ["pxp-agent 1.6.0"], "id": "31536", "issueType": "Task", "key": "PCP-603", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2017-05-30T09:43:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Additional acceptance tests for pxp-module-puppet whitelist", "timeSpent": "PT0S", "updated": "2017-06-28T13:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "These were never meant to be treated as URLs but rather only as message type identifiers. They could just as well be {{associate_request}}, {{associate_response}}. Prefixing them with the {{http://puppetlabs.com/}} was IMO an effort to make them a bit hierarchical.\n\nChanging them would require changes in all PCP components, for instance here:\n* https://github.com/puppetlabs/clj-pcp-client/blob/master/src/puppetlabs/pcp/client.clj#L121\n* https://github.com/puppetlabs/clj-pcp-client/blob/master/src/puppetlabs/pcp/client.clj#L342\n* https://github.com/puppetlabs/pcp-broker/blob/master/src/puppetlabs/pcp/broker/core.clj#L254\n* https://github.com/puppetlabs/pcp-broker/blob/master/src/puppetlabs/pcp/broker/core.clj#L379\n\netc. and it would break compatibility.\nI'm not sure if making the actual schemas available at the respective URLs makes much sense either, mainly because the schemas differ between protocol versions and the version is unfortunately not part of the URLs, so there is an ambiguity as to which versions of the schemas to serve from the URLs.\n\nPerhaps we could add more comments, or maybe put pages with links to different versions of the schemas at the URLs.\n[~accountid:557058:22d0f8be-5a48-45ef-8078-6e91e5c34720] What do you think?\n\n", "created": "2016-10-04T06:29:00.000000"}, {"author": "557058:22d0f8be-5a48-45ef-8078-6e91e5c34720", "body": "[~accountid:557058:093475a3-6bc8-4a70-8034-ae5a2ea66512] I don't have strong feelings about it -- was really just noting that as a user they're confusing to see. It seems like the best case would be to have the links versioned and pointing to the appropriate schemas, but if this breaks compatibility I'm happy to defer to the devs on the project. This is definitely not something most users will see or be bothered by.", "created": "2016-10-04T09:20:00.000000"}, {"author": "557058:315adc9a-49dc-4753-86d1-4536fc30e3f3", "body": "This is behaving as designed and does not need to be fixed.", "created": "2016-10-11T10:53:00.000000"}], "components": [], "created": "2016-10-03T17:55:00.000000", "creator": "557058:22d0f8be-5a48-45ef-8078-6e91e5c34720", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5868633e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz98dz:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "04/Oct/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_665873183_*|*_6_*:*_1_*:*_0"}], "description": "I'm probably not using the right words to describe these, but the URLs in\nhttps://github.com/puppetlabs/cpp-pcp-client/blob/master/lib/inc/cpp-pcp-client/protocol/schemas.hpp#L22,L23\n\nall lead to 404s and are confusing to see in log messages.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31628", "fixedVersions": [], "id": "31628", "issueType": "Bug", "key": "PCP-602", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:22d0f8be-5a48-45ef-8078-6e91e5c34720", "resolution": "Won't Fix", "resolutionDate": "2016-10-11T10:53:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "PCP protocol schemas point to incorrect URLs", "timeSpent": "PT0S", "updated": "2016-10-11T10:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "body": "For future archaeologists, the whitelist was introduced in PCP-321.", "created": "2016-10-04T09:22:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "I've implemented a fix for the first part by mandating the flags must be strings.\nThe other part - passing arguments which resemble flags except they start with whitespace - would IMO be best handled by introducing proper argument quoting here https://github.com/puppetlabs/puppet/blob/master/lib/puppet/util/execution.rb#L162\nAs a quick workaround we can add a check for this particular exploit into the {{pxp-module-puppet}} too.", "created": "2016-10-04T09:43:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920] does it make sense to address the other part by modifying Puppet here, as [~accountid:557058:093475a3-6bc8-4a70-8034-ae5a2ea66512] has suggested (which would require a PUP 4.7.1 in puppet-agent 1.7.1)?", "created": "2016-10-04T10:57:00.000000"}, {"author": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "body": "[~accountid:557058:093475a3-6bc8-4a70-8034-ae5a2ea66512] Make sure when opening PRs to fix this issue that they are to pxp-agent-cve and not pxp-agent. pxp-agent is public and we don't want to disseminate information about this issue until we release pxp-agent. \n\nThe pxp-agent-cve branch you should put PRs up for is: pcp-601-1.2.x", "created": "2016-10-04T12:48:00.000000"}, {"author": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "body": "[~accountid:557058:3da95088-202d-4082-a15a-eb2e812f2578], I discussed this briefly in HipChat's Puppet Core room with [~accountid:557058:093475a3-6bc8-4a70-8034-ae5a2ea66512] and [~accountid:557058:aa277a93-6688-4f34-ad9d-e53477acf74b], and we converged on:\n* for now, have pxp-module-puppet raise if any flags have leading whitespace\n* as a future improvement, file a ticket for PUP to modify Puppet::Util::Exception to trim leading whitespace and/or add proper quoting\n\nMeta: since this has had fragments of conversation in multiple HipChat rooms and in this ticket, there's a window for us to miss valuable comments about how to address this issue. If anyone has concerns with the above (which is totally fine), please just create a dedicated HipChat room (there's a button up and to the right :) ) and ping the relevant folks there so we can talk through the solution space. Thanks!\n\n/cc [~accountid:557058:3bbf1c83-df0e-4372-887d-cfc38dee9330]", "created": "2016-10-04T13:34:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "[~accountid:557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20] I'm sorry, I was too quick submitting the PR, thanks for deleting it.\n\nI've submitted a [new PR|https://github.com/puppetlabs/pxp-agent-cve/pull/18] which contains fixes for both of the exploits described in this ticket.", "created": "2016-10-04T17:17:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "The [PR fixing the vulnerabilities|https://github.com/puppetlabs/pxp-agent-cve/pull/18] has been merged.\nWhat are the next steps to promote the fixes into a release?", "created": "2016-10-05T08:11:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20] ^^^", "created": "2016-10-05T10:26:00.000000"}, {"author": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "body": "The agent & platform team will watch the CVE pipelines and promote the package ourselves. When the promotion is done we will notify everyone ", "created": "2016-10-05T14:09:00.000000"}], "components": ["pxp-agent"], "created": "2016-10-03T12:09:00.000000", "creator": "557058:ab1874a9-45ab-4efc-91aa-5200c165b2c4", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@196ff60"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyms7j:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "04/Oct/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_482750103_*|*_1_*:*_1_*:*_430402_*|*_10007_*:*_2_*:*_106239969_*|*_3_*:*_1_*:*_27174226_*|*_5_*:*_1_*:*_771293721_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_77436478"}], "description": "The whitelist for flags between the PCP broker and the PXP agent can be bypassed in two ways, summarized below:\n\n* Passing an array of strings instead of a string bypasses the check 'if flag.is_a?(String) and flag.start_with?(\"--\")' , but is later flattened.\n* Prepending an option with whitespace passes the same check, but \" --postrun_command\" still works in the later code.  A literal tab also works, as does \"\\t\" (something later interprets it out).\n\nMore details can be found in the PDF attached to RE-8081", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32295", "fixedVersions": ["pxp-agent 1.2.2"], "id": "32295", "issueType": "Bug", "key": "PCP-601", "labels": ["davis-ss", "ncc-2016", "product-security"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Blocker", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:ab1874a9-45ab-4efc-91aa-5200c165b2c4", "resolution": "Fixed", "resolutionDate": "2016-10-11T12:57:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "PXP command whitelist can be bypassed", "timeSpent": "PT0S", "updated": "2016-11-14T11:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This should probably first be documented in pcp-specifications.", "created": "2016-11-02T10:43:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Broker changes have merged, so this should be unblocked.", "created": "2017-01-04T10:03:00.000000"}], "components": ["pcp-broker"], "created": "2016-09-30T08:37:00.000000", "creator": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "An inventory_request can be used to register for incremental inventory updates. Those updates are sent as a new message type, and the result of combining updates with the original inventory_response should be identical to any later inventory_request/inventory_response (in both contents and version number)."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@25644f3c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzb9hb:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "pcp-broker now implements inventory subscriptions, whereby a client can request subscriptions and will be sent inventory update messages as clients connect or disconnect."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Nov/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_1775662_*|*_1_*:*_1_*:*_958014332_*|*_10007_*:*_1_*:*_1289632207_*|*_3_*:*_1_*:*_1666831580_*|*_4_*:*_1_*:*_2134_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_2_*:*_63061262_*|*_10006_*:*_2_*:*_7282359325"}], "description": "Implement inventory change announcement subscriptions and the announcements themselves on the broker side.\n\nThe subscription is standard inventory request with a flag for requesting the announcements. When the announcements are requested by setting the flag in the request, then normal inventory response is sent first, after that announcements are sent whenever the inventory version on the broker changes. The announcement contains the version of the inventory before the change an the change itself (which agent has connected/disconnected).\n\nIf the inventory on the broker changes too frequently then the updates should be batched, i.e. there should be multiple changes sent in a single announcement to avoid sending too many announcement messages to the super client.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32294", "fixedVersions": ["pcp-broker 1.1.0"], "id": "32294", "issueType": "Task", "key": "PCP-600", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "resolution": "Done", "resolutionDate": "2017-02-07T15:52:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Implement inventory change announcements", "timeSpent": "PT0S", "updated": "2017-02-07T15:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:22d0f8be-5a48-45ef-8078-6e91e5c34720", "body": "Closing as a duplicate because this work was folded into PCP-645.", "created": "2016-12-12T11:19:00.000000"}], "components": ["pcp-broker"], "created": "2016-09-30T08:25:00.000000", "creator": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "PCP's inventory_response includes an integral version number."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4e5df168"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-399"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hymmfr:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Dec/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_958632087_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_5362627902"}], "description": "The inventory maintained by every PCP broker will have version - an integer counter - which is updated whenever an agent connects/disconnects.\n\nThis is intended for the super client to know (together with inventory change announcements) whether it needs to reload the full inventory from any particular broker or whether its copy of the inventory is up-to-date.", "epicLinkSummary": "PCP Version 2 Protocol", "estimate": "PT0S", "externalId": "32205", "fixedVersions": [], "id": "32205", "issueType": "Bug", "key": "PCP-599", "labels": [], "originalEstimate": "PT0S", "parent": "31882", "parentSummary": "PCP Version 2 Protocol", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "resolution": "Duplicate", "resolutionDate": "2016-12-12T11:19:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Implement PCP inventory versioning", "timeSpent": "PT0S", "updated": "2016-12-13T12:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Verified I can run pcp-broker inside puppetserver#master with https://github.com/MikaelSmith/puppetserver/tree/integrate-pcp.", "created": "2016-11-11T15:10:00.000000"}, {"author": "557058:971ba3ac-d04a-4e49-98fa-a110b38e2528", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] is there a way to turn off the pcp broker on a CM? Thanks!", "created": "2017-12-12T05:27:00.000000"}], "components": ["pcp-broker"], "created": "2016-09-28T20:27:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Should be able to run pcp-broker as a dependency of puppetserver."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7da1d8e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-635"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hymm1b:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "pcp-broker now queries its webserver service for cert configuration, allowing it to be co-located in the same JVM as puppetserver."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Dec/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_10100727_*|*_1_*:*_1_*:*_567731952_*|*_10007_*:*_1_*:*_8506516_*|*_3_*:*_1_*:*_3199736031_*|*_10009_*:*_1_*:*_66224_*|*_5_*:*_1_*:*_6033864785_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_50427"}], "description": "Several steps were outlined in PCP-580 to prepare pcp-broker as a dependency of Puppet Server that we should implement:\n- update dependencies (useful to ensure we're testing with the right libraries)\n- delay loading certificates in pcp-broker (so Puppet Server has time to create them)\n- make loading certificates in pcp-broker optional (so we can run even if certificates are not specified in the config, which is a valid way to configure Puppet Server)\n\nhttps://github.com/puppetlabs/pcp-broker/compare/master...MikaelSmith:bump-deps contains some initial work for this.", "epicLinkSummary": "Integrate pcp-broker with puppetserver", "estimate": "PT0S", "externalId": "31535", "fixedVersions": ["pcp-broker 1.0.0"], "id": "31535", "issueType": "Improvement", "key": "PCP-597", "labels": [], "originalEstimate": "PT0S", "parent": "31641", "parentSummary": "Integrate pcp-broker with puppetserver", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-11-11T15:11:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Enable colocating pcp-broker with puppet-server", "timeSpent": "PT0S", "updated": "2017-12-13T02:27:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "body": "For pxp-module-puppet we want the exit code to be 0 if there is a useful report that the consumer can use. ", "created": "2016-11-14T10:49:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Ah, it's not actually meant to be the agent executable's exit code.\nI think this may be confusing", "created": "2016-11-15T04:01:00.000000"}], "components": ["pxp-agent package"], "created": "2016-09-21T11:17:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@56eb394d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hylykv:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Nov/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_4667604610_*|*_6_*:*_1_*:*_0"}], "description": "Create a manifest that will cause an error when it is applied e.g. try to ensure a file inside a non-existent directory:\n{code}node default {\n  File { '/tmp/no_such_folder/foo':\n    ensure => present,\n  }\n}{code}\n\nTest the exit code from Puppet:\n{noformat}root@gjixonxtz3imicp:~# puppet agent -t\nInfo: Using configured environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Caching catalog for gjixonxtz3imicp.delivery.puppetlabs.net\nInfo: Applying configuration version '1474477297'\nError: Could not set 'present' on ensure: No such file or directory @ rb_sysopen - /tmp/no_such_folder/foo at 2:/etc/puppetlabs/code/environments/production/manifests/site.pp\nError: Could not set 'present' on ensure: No such file or directory @ rb_sysopen - /tmp/no_such_folder/foo at 2:/etc/puppetlabs/code/environments/production/manifests/site.pp\nWrapped exception:\nNo such file or directory @ rb_sysopen - /tmp/no_such_folder/foo\nError: /Stage[main]/Main/Node[default]/File[/tmp/no_such_folder/foo]/ensure: change from absent to present failed: Could not set 'present' on ensure: No such file or directory @ rb_sysopen - /tmp/no_such_folder/foo at 2:/etc/puppetlabs/code/environments/production/manifests/site.pp\nNotice: Applied catalog in 0.03 seconds\nroot@gjixonxtz3imicp:~# echo $?\n4{noformat}\n\nTry the same puppet run via PXP rpc_blocking_request, the response is:\n{noformat}{:envelope=>{:id=>\"1db9de2c-5915-472c-b888-9a8b64d5a4a7\", :targets=>[\"pcp://test-development/ruby-pcp-client-4693\"], :message_type=>\"http://pup\npetlabs.com/rpc_blocking_response\", :sender=>\"pcp://gjixonxtz3imicp.delivery.puppetlabs.net/agent\", :expires=>\"2016-09-21T17:10:51.291071Z\"}, :\ndata=>{\"transaction_id\"=>\"6a93ee31-b7f7-49ba-a9a9-39ba6f20ffc5\", \"results\"=>{\"kind\"=>\"apply\", \"time\"=>\"2016-09-21 10:10:45 -0700\", \"transaction\n_uuid\"=>\"f55649a0-f6f8-446e-807f-26a5fda8a20d\", \"environment\"=>\"production\", \"status\"=>\"failed\", \"exitcode\"=>0, \"version\"=>1}}}{noformat}\n\nexitcode is 0 where it should be 4", "environment": "SUITE_VERSION 1.6.2.163.gba93fa8\nSUITE_COMMIT ba93fa8b13eae259972cfd3d45f11495f89f9741", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31965", "fixedVersions": [], "id": "31965", "issueType": "Bug", "key": "PCP-595", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Won't Fix", "resolutionDate": "2016-11-14T10:50:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-module-puppet reports puppet exit code 0 when agent would exit with 4", "timeSpent": "PT0S", "updated": "2017-05-16T11:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "This happened in the same test matrix as PCP-593 (pcp-broker not available 1 minute after launching it). One suspect might be that CI was under particular load at the time.", "created": "2016-09-21T05:31:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Not able to easily reproduce (after 3+ hours of running the pxp-module-puppet tests on a loop)", "created": "2016-09-21T08:24:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "We've made a number of fixes, and this failure hasn't repeated.", "created": "2016-11-28T10:42:00.000000"}, {"author": "557058:75cf0874-3831-4bb6-a7ff-b655ecaa1a81", "body": "I think this one is back today, here: https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppet-agent_puppet-agent-integration-suite_daily-5.3.x/COMPONENT=pxp_agent,SLAVE_LABEL=beaker,TEST_TARGET=windows2008r2-64a/9/\n\n(I also made a duplicate, PCP-819, before I realized this ticket existed)", "created": "2017-10-29T14:00:00.000000"}], "components": ["pxp-agent package", "QA"], "created": "2016-09-21T04:47:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2067eaf"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz8pjz:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/Nov/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_5900142152_*|*_6_*:*_1_*:*_0"}], "description": "Seen twice in one puppet-agent suite run:\nhttps://jenkins.puppetlabs.com/view/puppet-agent%20suite%20pipelines/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-1.7.0-release/8/\n\nOne failure for ubuntu1204-64a in tests/pxp-module-puppet.run_puppet_result_failed.rb :\n{noformat}  * Ensure each agent host has pxp-agent running and associated\n    \n    y1u5a5uebhikqie.delivery.puppetlabs.net (ubuntu1204-64-1) 15:54:39$ puppet resource service pxp-agent ensure=stopped\n      Notice: /Service[pxp-agent]/ensure: ensure changed 'running' to 'stopped'\n      service { 'pxp-agent':\n        ensure => 'stopped',\n      }\n    \n    y1u5a5uebhikqie.delivery.puppetlabs.net (ubuntu1204-64-1) executed in 1.32 seconds\n    \n    y1u5a5uebhikqie.delivery.puppetlabs.net (ubuntu1204-64-1) 15:54:40$ puppet config print ssldir\n      /etc/puppetlabs/puppet/ssl\n    \n    y1u5a5uebhikqie.delivery.puppetlabs.net (ubuntu1204-64-1) executed in 0.83 seconds\n    localhost $ scp /tmp/beaker20160920-19803-wa8asn ubuntu1204-64-1:/etc/puppetlabs/pxp-agent/pxp-agent.conf {:ignore => }\n    \n    y1u5a5uebhikqie.delivery.puppetlabs.net (ubuntu1204-64-1) 15:54:41$ puppet resource service pxp-agent ensure=running\n      Notice: /Service[pxp-agent]/ensure: ensure changed 'stopped' to 'running'\n      service { 'pxp-agent':\n        ensure => 'running',\n      }\n    \n    y1u5a5uebhikqie.delivery.puppetlabs.net (ubuntu1204-64-1) executed in 3.39 seconds\n  \n  * Send an rpc_blocking_request to all agents for run_puppet_result_failed_fhlvdbp1\n    RuntimeError: Exception occurred when trying to run Puppet on all agents: Didn't receive all PCP responses when requesting pxp-module-puppet run on [\"pcp://y1u5a5uebhikqie.delivery.puppetlabs.net/agent\"]. Responses received were: {}\n    /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-1.7.0-release/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1204-64a/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_result_failed.rb:62\n    /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-1.7.0-release/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1204-64a/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_result_failed.rb:55\n    /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-1.7.0-release/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1204-64a/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_result_failed.rb:50\n    /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-1.7.0-release/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1204-64a/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_result_failed.rb:68\n    /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-1.7.0-release/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1204-64a/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_result_failed.rb:4\n    /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-1.7.0-release/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1204-64a/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.51.0/bin/beaker:6\n    Begin teardown\n    \n    vj4jzql9e7jf5jm.delivery.puppetlabs.net (redhat7-64-1) 15:55:46$ rm -rf /etc/puppetlabs/code/environments/run_puppet_result_failed_fhlvdbp1\n    \n    vj4jzql9e7jf5jm.delivery.puppetlabs.net (redhat7-64-1) executed in 0.02 seconds\n    End teardown{noformat}\n\nAnd another failure on windows2008r2-6432a for tests/pxp-module-puppet.run_puppet.rb :\n{noformat}  C95972 - pxp-module-puppet run\n    \n    * Ensure each agent host has pxp-agent running and associated\n      \n      qv1y1hz5k8l933e.delivery.puppetlabs.net (windows2008r2-6432-1) 15:57:35$ cmd.exe /c puppet resource service pxp-agent ensure=stopped\n        Notice: /Service[pxp-agent]/ensure: ensure changed 'running' to 'stopped'\n        service { 'pxp-agent':\n          ensure => 'stopped',\n        }\n      \n      qv1y1hz5k8l933e.delivery.puppetlabs.net (windows2008r2-6432-1) executed in 9.25 seconds\n      \n      qv1y1hz5k8l933e.delivery.puppetlabs.net (windows2008r2-6432-1) 15:57:44$ cmd.exe /c puppet config print ssldir\n        C:/ProgramData/PuppetLabs/puppet/etc/ssl\n      \n      qv1y1hz5k8l933e.delivery.puppetlabs.net (windows2008r2-6432-1) executed in 1.50 seconds\n      localhost $ scp /tmp/beaker20160920-14353-2a07gj windows2008r2-6432-1:/cygdrive/c/ProgramData/PuppetLabs/pxp-agent/etc/pxp-agent.conf {:ignore => }\n      \n      qv1y1hz5k8l933e.delivery.puppetlabs.net (windows2008r2-6432-1) 15:57:46$ cmd.exe /c puppet resource service pxp-agent ensure=running\n        Notice: /Service[pxp-agent]/ensure: ensure changed 'stopped' to 'running'\n        service { 'pxp-agent':\n          ensure => 'running',\n        }\n      \n      qv1y1hz5k8l933e.delivery.puppetlabs.net (windows2008r2-6432-1) executed in 8.78 seconds\n    \n    * Send an rpc_blocking_request to all agents\n      RuntimeError: Exception occurred when trying to run Puppet on all agents: Didn't receive all PCP responses when requesting pxp-module-puppet run on [\"pcp://qv1y1hz5k8l933e.delivery.puppetlabs.net/agent\"]. Responses received were: {}\n      /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-1.7.0-release/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-6432a/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet.rb:31\n      /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-1.7.0-release/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-6432a/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet.rb:23\n      /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-1.7.0-release/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-6432a/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet.rb:17\n      /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-1.7.0-release/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-6432a/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet.rb:3\n      /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-1.7.0-release/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-6432a/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.51.0/bin/beaker:6\n      Begin teardown\n      End teardown{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31773", "fixedVersions": [], "id": "31773", "issueType": "Bug", "key": "PCP-594", "labels": ["pxp_puppet-agent_ci"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Cannot Reproduce", "resolutionDate": "2016-11-28T10:42:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent tests failing due to lack of response to Run Puppet", "timeSpent": "PT0S", "updated": "2017-10-29T14:00:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "This happened in the same test matrix as PCP-594 (responses for Run Puppet PXP requests were not received in the expected time limit). One suspect might be that CI was under particular load at the time.", "created": "2016-09-21T05:33:00.000000"}, {"author": "557058:75cf0874-3831-4bb6-a7ff-b655ecaa1a81", "body": "For the record, one more occurrence of this seems to be here [here|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppet-agent_puppet-agent-integration-suite_daily-master/COMPONENT=pxp_agent,SLAVE_LABEL=beaker,TEST_TARGET=cumulus25-64a/1/].\n\n", "created": "2017-10-24T13:32:00.000000"}], "components": ["pxp-agent package", "QA"], "created": "2016-09-21T04:39:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@11622775"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz8ygf:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Oct/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2958646953_*|*_6_*:*_1_*:*_0"}], "description": "https://jenkins.puppetlabs.com/view/puppet-agent%20suite%20pipelines/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-1.7.0-release/SLAVE_LABEL=beaker,TEST_TARGET=osx1011-64a/8/testReport/junit/(root)/setup_common/050_Setup_Broker_rb/\n\n{noformat}    Retrieving com/taoensso/encore/1.32.0/encore-1.32.0.jar from internal-clojars-mirror\n    Retrieving slingshot/slingshot/0.12.2/slingshot-0.12.2.jar from internal-clojars-mirror\n    Retrieving org/clojars/smee/binary/0.3.0/binary-0.3.0.jar from internal-clojars-mirror\n    Retrieving clamq/clamq-jms/0.4/clamq-jms-0.4.jar from internal-clojars-mirror\n    Retrieving clamq/clamq-activemq/0.4/clamq-activemq-0.4.jar from internal-clojars-mirror\n    Retrieving puppetlabs/pcp-common/0.5.4/pcp-common-0.5.4.jar from internal-clojars-mirror\n    Retrieving clamq/clamq-core/0.4/clamq-core-0.4.jar from internal-clojars-mirror\n  \n  nctafkjilg7mal1.delivery.puppetlabs.net (redhat7-64-1) executed in 22.09 seconds\n  \n  nctafkjilg7mal1.delivery.puppetlabs.net (redhat7-64-1) 15:42:59$ cd /opt/puppet-git-repos/pcp-broker1; export LEIN_ROOT=ok; lein with-profile internal-mirrors deps\n  \n  nctafkjilg7mal1.delivery.puppetlabs.net (redhat7-64-1) executed in 2.28 seconds\n\n* Run pcp-broker on master in trapperkeeper in background and wait for it to report status 'running'\n  \n  nctafkjilg7mal1.delivery.puppetlabs.net (redhat7-64-1) 15:43:01$ sed --in-place'' --regexp-extended 's/ssl-port:\\s?[0-9]+/ssl-port: 8142/' /opt/puppet-git-repos/pcp-broker0/test-resources/conf.d/webserver.conf\n  \n  nctafkjilg7mal1.delivery.puppetlabs.net (redhat7-64-1) executed in 0.01 seconds\n  \n  nctafkjilg7mal1.delivery.puppetlabs.net (redhat7-64-1) 15:43:01$ sed --in-place'' --regexp-extended 's/port\\s?=\\s?[0-9]+/port = 7888/' /opt/puppet-git-repos/pcp-broker0/test-resources/conf.d/nrepl.conf\n  \n  nctafkjilg7mal1.delivery.puppetlabs.net (redhat7-64-1) executed in 0.01 seconds\n  \n  nctafkjilg7mal1.delivery.puppetlabs.net (redhat7-64-1) 15:43:01$ sed --in-place'' --regexp-extended 's/ssl-port:\\s?[0-9]+/ssl-port: 8143/' /opt/puppet-git-repos/pcp-broker1/test-resources/conf.d/webserver.conf\n  \n  nctafkjilg7mal1.delivery.puppetlabs.net (redhat7-64-1) executed in 0.01 seconds\n  \n  nctafkjilg7mal1.delivery.puppetlabs.net (redhat7-64-1) 15:43:01$ sed --in-place'' --regexp-extended 's/port\\s?=\\s?[0-9]+/port = 7889/' /opt/puppet-git-repos/pcp-broker1/test-resources/conf.d/nrepl.conf\n  \n  nctafkjilg7mal1.delivery.puppetlabs.net (redhat7-64-1) executed in 0.01 seconds\n  \n  nctafkjilg7mal1.delivery.puppetlabs.net (redhat7-64-1) 15:43:01$ cd /opt/puppet-git-repos/pcp-broker0; export LEIN_ROOT=ok; lein tk </dev/null >/var/log/pcp-broker.log 2>&1 &\n  \n  nctafkjilg7mal1.delivery.puppetlabs.net (redhat7-64-1) executed in 0.01 seconds\n  Minitest::Assertion: pcp-broker port 8142 not open within 1 minutes of starting the broker\n  /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-1.7.0-release/SLAVE_LABEL/beaker/TEST_TARGET/osx1011-64a/pxp-agent/acceptance/setup/common/050_Setup_Broker.rb:66\n  /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-1.7.0-release/SLAVE_LABEL/beaker/TEST_TARGET/osx1011-64a/pxp-agent/acceptance/setup/common/050_Setup_Broker.rb:60\n  /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-1.7.0-release/SLAVE_LABEL/beaker/TEST_TARGET/osx1011-64a/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.51.0/bin/beaker:6\n  Begin teardown\n  End teardown{noformat}\n\nThis is the same problem that was reported in PCP-557. I don't want to re-open that ticket as [~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] identified and fixed a definite problem there", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31625", "fixedVersions": [], "id": "31625", "issueType": "Bug", "key": "PCP-593", "labels": ["pxp_puppet-agent_ci"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Cannot Reproduce", "resolutionDate": "2016-10-25T10:30:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Seen once: pcp-broker not started within 1 minute in pxp-agent acceptance", "timeSpent": "PT0S", "updated": "2017-10-24T13:32:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b] did this get through CI yet?", "created": "2016-12-27T10:25:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b] ping.", "created": "2017-01-04T09:12:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "Thanks, [~accountid:557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b]. Can you please provide release notes for this issue?", "created": "2017-01-04T09:39:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "This ticket just added one more unit test, I don't believe a release note is needed", "created": "2017-01-04T09:53:00.000000"}], "components": ["pxp-agent package", "QA"], "created": "2016-09-21T04:10:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Tests in the [test suite|https://testrail.ops.puppetlabs.net/index.php?/suites/view/375&group_by=cases:section_id&group_order=asc&group_id=19781] either marked as automated, or linked to bugs if there is any current issue with the test case"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@158111dc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz8ybz:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Dec/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_1886117286_*|*_1_*:*_1_*:*_6587672662_*|*_3_*:*_1_*:*_621291597_*|*_5_*:*_1_*:*_1376806704_*|*_6_*:*_1_*:*_0"}], "description": "Tests are here: https://testrail.ops.puppetlabs.net/index.php?/suites/view/375&group_by=cases:section_id&group_order=asc&group_id=19781", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31534", "fixedVersions": ["pxp-agent 1.3.2"], "id": "31534", "issueType": "Task", "key": "PCP-592", "labels": ["i18n"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2017-01-20T08:02:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent i18n tests", "timeSpent": "PT0S", "updated": "2017-01-20T08:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "attachments": [], "comments": [{"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "h2. Environment\nEverything except clients (i.e. NATS.io server, PCP brokers and the HAProxy) ran on a CentOS 7 VM.\nh3. Gotchas\nhaproxy on an selinux enabled box can\u2019t connect to any localhost port unless allowed by:\n{code}\nsetsebool -P haproxy_connect_any on\n{code}\n\nh2. NATS.io\nh3. Setup\n* two NATS.io servers connected to a cluster\n* load balanced by the HAProxy in tcp mode\n* relevant HAProxy config:\n{code}\ndefaults\n    mode                    tcp\n    log                     global\n    option                  tcplog\n    option                  redispatch\n    retries                 3\n    timeout queue           1m\n    timeout connect         10s\n    timeout client          1m\n    timeout server          1m\n    timeout check           10s\n    maxconn                 3000\n\nfrontend  nats\n    bind                    *:5000\n    default_backend         nats\n\nbackend nats\n    option                  tcp-check\n    balance                 roundrobin\n    server                  nats1 127.0.0.1:4242 check\n    server                  nats2 127.0.0.1:4243 check\n{code}\n\nh3. Result\nThe controller could exchange messages with agent irrespective of which of the NATS.io servers each of them was connected to. The messages were forwarded by the NATS cluster as needed.\n\nh2. PCP\nh3. Setup\n* two PCP brokers\n* load balanced by HAProxy in tcp mode\n* relevant HAProxy config:\n{code}\ndefaults\n    mode                    tcp\n    log                     global\n    option                  tcplog\n    option                  redispatch\n    retries                 3\n    timeout queue           1m\n    timeout connect         10s\n    timeout client          1m\n    timeout server          1m\n    timeout check           10s\n    maxconn                 3000\n\nfrontend  pcp\n    bind                    *:6000\n    default_backend         pcp\n\nbackend pcp\n    option                  tcp-check\n    balance                 roundrobin\n    server                  pcp1 127.0.0.1:8142 check\n    server                  pcp2 127.0.0.1:8143 check\n{code}\n\nh3. Result\nThe controller was only able to communicate with the agent when both of them were connected (through the HAProxy load balancer) to the same broker.\n\nh2. Note on `mode http` load balancing\nIt is currently not possible to use HAProxy\u2019s mode http load balancing for PCP connections because:\n* we use information obtained from SSL/TLS handshake for client authentication\n* in mode http the SSL/TLS must be terminated at HAProxy\n* there is no way to forward the required information from HAProxy to the trapperkeeper/PCP broker through the Jetty web server version 9.2, which is what we currently use in trapperkeeper-webserver-jetty9\n\nTo make this scenario possible we\u2019d need to use the [PROXY protocol version 2|http://www.haproxy.org/download/1.5/doc/proxy-protocol.txt], support for which seems to be coming in the (still unreleased) Jetty web server version 9.4, which in turn will require Java 8. The Jetty web server would need to be configured as described here: https://www.eclipse.org/jetty/documentation/9.3.x/configuring-connectors.html#_proxy_protocol, which would necessitate adding support for it to the trapperkeeper-webserver-jetty9.", "created": "2016-09-23T09:53:00.000000"}], "components": [], "created": "2016-09-20T12:54:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@40ca1e9c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-559"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz8dsv:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "23/Sep/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1294208_*|*_3_*:*_1_*:*_247149112_*|*_5_*:*_1_*:*_0"}], "description": "We'll use HAproxy configured for our Scale environment as a default setup.", "epicLinkSummary": "Evaluate NATS as a potential replacement for PCP", "estimate": "PT0S", "externalId": "32292", "fixedVersions": [], "id": "32292", "issueType": "Task", "key": "PCP-589", "labels": [], "originalEstimate": "PT0S", "parent": "32201", "parentSummary": "Evaluate NATS as a potential replacement for PCP", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Done", "resolutionDate": "2016-09-23T09:54:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Investigate NATS and PCP behind load balancer", "timeSpent": "PT0S", "updated": "2016-09-23T09:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "attachments": [{"attacher": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "created": "2016-09-26T09:43:00.000000", "name": "openssl-1.0.1e-starttls-nats.patch", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12290"}], "comments": [{"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "The comments on Go's TLS implementation are generally these:\n* the implementation hasn't been thoroughly reviewed from a cryptographic standpoint\n* it's slower than a C implementation\n* implements fewer corner cases than OpenSSL, so there is less potential for bugs\n* was written by a legit security expert in a language safer than C\n\nThe advice is to put a go server behind a HAProxy or nginx for both higher performance and security.", "created": "2016-09-26T09:14:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "The other problem I ran into was inability to connect to a TLS enabled NATS server using openssl's s_client utility. I was blaming it on the go's TLS implementation which NATS server relies upon. But it turns out not to be the cause, the real problem is that the NATS server sends an {{INFO}} line before starting the TLS handshake, which is treated by the openssl's s_client as an error causing it to close the connection.\nI was able to solve it by implementing a {{nats}} protocol helper for the s_client's {{-starttls}} option in a [simple patch|^openssl-1.0.1e-starttls-nats.patch].", "created": "2016-09-26T09:42:00.000000"}], "components": [], "created": "2016-09-20T12:39:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6e26fd4e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-559"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz8urb:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "26/Sep/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_79762320_*|*_3_*:*_1_*:*_514230059_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_168460795"}], "description": "In reviewing NATS, [~accountid:557058:093475a3-6bc8-4a70-8034-ae5a2ea66512] raised concerns about Go's TLS implementation not being fully vetted. Look for public examples of where being used in production and how well it's been battle-hardened.", "epicLinkSummary": "Evaluate NATS as a potential replacement for PCP", "estimate": "PT0S", "externalId": "31771", "fixedVersions": [], "id": "31771", "issueType": "Task", "key": "PCP-588", "labels": [], "originalEstimate": "PT0S", "parent": "32201", "parentSummary": "Evaluate NATS as a potential replacement for PCP", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Done", "resolutionDate": "2016-09-29T08:26:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Investigate Go TLS implementation", "timeSpent": "PT0S", "updated": "2016-09-29T08:26:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:315adc9a-49dc-4753-86d1-4536fc30e3f3", "body": "This is not needed at this time.", "created": "2017-05-30T10:26:00.000000"}], "components": ["pxp-agent"], "created": "2016-09-19T12:57:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2646e0f2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hylyav:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "30/May/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_164008140_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_21686107412"}], "description": "Rewrite pxp-module-puppet to invoke Puppet in-process. This has several benefits:\n- simplified code\n- avoids encoding issues from reading console output\n- it potentially makes implementing PCP-285 simpler\n- providing more status updates during the Puppet run (via callbacks) is only feasible with Puppet in-process\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31769", "fixedVersions": [], "id": "31769", "issueType": "Task", "key": "PCP-587", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Won't Do", "resolutionDate": "2017-05-30T10:26:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Rewrite pxp-module-puppet to simplify execution", "timeSpent": "PT0S", "updated": "2017-05-30T10:26:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "created": "2016-09-14T10:04:00.000000", "name": "journalctl.tar.gz", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12289"}], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "While testing a quick change to allow more time (3 minutes) for pxp-agent to associate", "created": "2016-09-14T09:32:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "I've saved off the journalctl from the system, on the suspicion that pxp-agent service might be starting too early. The logs do mention network-related services (e.g. hostname) starting _after_ pxp-agent is started", "created": "2016-09-14T10:03:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Spent more time on this today. A couple of notes:\n * The issue is reproducible by running restart_host_run_puppet.rb on a while loop. It might take ~15 minutes to occur but does not seem to be a rare occurrence\n * I tried adjusting the \"after\" condition in /usr/lib/systemd/system/pxp-agent.service but couldn't find an after target that made a difference\n * Examining journalctl and comparing a working host reboot with a host reboot that suffered from this bug", "created": "2016-09-30T09:43:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This includes a merged commit. Is it a duplicate, or still need work?", "created": "2016-10-24T13:00:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] the merged commit is just to skip the affected test case on Fedora", "created": "2016-10-25T04:00:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Manually testing looks like this is no longer an issue as of puppet-agent 5.3.3.", "created": "2018-01-09T12:39:00.000000"}], "components": ["pxp-agent package"], "created": "2016-09-14T09:10:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1b11652f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzavy7:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "24/Oct/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_8548986705_*|*_1_*:*_1_*:*_540406598_*|*_10007_*:*_1_*:*_428845964_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_1688004_*|*_10005_*:*_1_*:*_32141025973"}], "description": "https://jenkins.puppetlabs.com/view/puppet-agent%20suite%20pipelines/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/35/SLAVE_LABEL=beaker,TEST_TARGET=fedora24-32a/testReport/junit/(root)/tests/restart_host_run_puppet_rb/\n\n{noformat}Begin tests/restart_host_run_puppet.rb\n\nC94777 - Ensure pxp-agent functions after agent host restart\n  \n  * Ensure each agent host has pxp-agent service running and enabled\n    \n    vzeypakzrc9l48b.delivery.puppetlabs.net (fedora24-32-1) 17:30:50$ puppet resource service pxp-agent ensure=stopped\n      Notice: /Service[pxp-agent]/ensure: ensure changed 'running' to 'stopped'\n      service { 'pxp-agent':\n        ensure => 'stopped',\n      }\n    \n    vzeypakzrc9l48b.delivery.puppetlabs.net (fedora24-32-1) executed in 1.35 seconds\n    \n    vzeypakzrc9l48b.delivery.puppetlabs.net (fedora24-32-1) 17:30:51$ puppet config print ssldir\n      /etc/puppetlabs/puppet/ssl\n    \n    vzeypakzrc9l48b.delivery.puppetlabs.net (fedora24-32-1) executed in 0.94 seconds\n    localhost $ scp /tmp/beaker20160906-10733-lkoyzw fedora24-32-1:/etc/puppetlabs/pxp-agent/pxp-agent.conf {:ignore => }\n    \n    vzeypakzrc9l48b.delivery.puppetlabs.net (fedora24-32-1) 17:30:53$ puppet resource service pxp-agent ensure=running enable=true\n      Notice: /Service[pxp-agent]/ensure: ensure changed 'stopped' to 'running'\n      service { 'pxp-agent':\n        ensure => 'running',\n        enable => 'true',\n      }\n    \n    vzeypakzrc9l48b.delivery.puppetlabs.net (fedora24-32-1) executed in 1.39 seconds\n  \n  * restart each agent\n    \n    vzeypakzrc9l48b.delivery.puppetlabs.net (fedora24-32-1) 17:30:56$ /sbin/shutdown -r now\n      Warning: ssh channel on fedora24-32-1 received exception post command execution IOError - closed stream\n      Warning: ssh.close: connection is already closed, no action needed\n      ssh connection to fedora24-32-1 has been terminated\n    \n    vzeypakzrc9l48b.delivery.puppetlabs.net (fedora24-32-1) executed in 0.24 seconds\n    \n    * wait until pxp-agent is back up and associated on vzeypakzrc9l48b.delivery.puppetlabs.net\n      \n      vzeypakzrc9l48b.delivery.puppetlabs.net (fedora24-32-1) 17:31:06$ #<Beaker::Command:0x00000004bab950>\n        Trying command 30 times.\n      .        Attempting ssh connection to vzeypakzrc9l48b.delivery.puppetlabs.net, user: root, opts: {:config=>false, :paranoid=>false, :auth_methods=>[\"publickey\"], :port=>22, :forward_agent=>true, :keys=>[\"~/.ssh/id_rsa-acceptance\"], :user_known_hosts_file=>\"/var/lib/jenkins/.ssh/known_hosts\", :keepalive=>true, :user=>\"root\"}\n        Warning: Try 1 -- Host vzeypakzrc9l48b.delivery.puppetlabs.net unreachable: Errno::ETIMEDOUT - Connection timed out - connect(2) for \"vzeypakzrc9l48b.delivery.puppetlabs.net\" port 22\n        Warning: Trying again in 3 seconds\n        Attempting ssh connection to vzeypakzrc9l48b.delivery.puppetlabs.net, user: root, opts: {:config=>false, :paranoid=>false, :auth_methods=>[\"publickey\"], :port=>22, :forward_agent=>true, :keys=>[\"~/.ssh/id_rsa-acceptance\"], :user_known_hosts_file=>\"/var/lib/jenkins/.ssh/known_hosts\", :keepalive=>true, :user=>\"root\"}\n      \n      vzeypakzrc9l48b.delivery.puppetlabs.net (fedora24-32-1) 17:32:14$ #<Beaker::Command:0x00000004bab950> ostensibly successful.\n      Minitest::Assertion: Agent vzeypakzrc9l48b.delivery.puppetlabs.net should be associated with pcp-broker following host reboot\n      /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/fedora24-32a/pxp-agent/acceptance/tests/restart_host_run_puppet.rb:53\n      /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/fedora24-32a/pxp-agent/acceptance/tests/restart_host_run_puppet.rb:47\n      /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/fedora24-32a/pxp-agent/acceptance/tests/restart_host_run_puppet.rb:33\n      /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/fedora24-32a/pxp-agent/acceptance/tests/restart_host_run_puppet.rb:33\n      /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/fedora24-32a/pxp-agent/acceptance/tests/restart_host_run_puppet.rb:32\n      /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/fedora24-32a/pxp-agent/acceptance/tests/restart_host_run_puppet.rb:3\n      /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/fedora24-32a/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.50.0/bin/beaker:6\n      Begin teardown\n      End teardown\n      tests/restart_host_run_puppet.rb failed in 169.39 seconds{noformat}\n\nInitially I just had this as a comment on QENG-4371 with the most likely cause being a slow VM; but on another look at the [restart_host_run_puppet.rb test case|https://github.com/puppetlabs/pxp-agent/blob/master/acceptance/tests/restart_host_run_puppet.rb], it is quite patient and allows up to 60 seconds (starting from when the pxp-agent service is confirmed to be running again) for pxp-agent to be associated with the broker again. Either the pxp-agent startup is _very_ slow, or it is faulty. \n\n", "environment": "fedora24-32a\npuppet-agent (master) 1.6.2.120.ga8e5cca\na8e5ccabf4fe46378a9e5d70305336c9679f2477", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31533", "fixedVersions": ["pxp-agent 1.9.0"], "id": "31533", "issueType": "Bug", "key": "PCP-585", "labels": ["maintenance", "pxp_puppet-agent_ci"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Cannot Reproduce", "resolutionDate": "2018-01-09T12:39:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent may fail to connect to broker following reboot of Fedora host", "timeSpent": "PT0S", "updated": "2018-03-14T13:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:e484fb55-2ddc-43a0-968e-11d70ae3153c", "attachments": [], "comments": [{"author": "557058:e484fb55-2ddc-43a0-968e-11d70ae3153c", "body": "Hi [~accountid:557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b]  - [~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] mentioned you might have been looking into the failing pxp-agent tests in the puppet agent suite. I'm looking into getting (and keeping) these tests green - let me know if you have any tips (or are already in progress on this)?", "created": "2016-09-12T17:22:00.000000"}, {"author": "557058:e484fb55-2ddc-43a0-968e-11d70ae3153c", "body": "So far, I have been unable to reproduce these failures with local beaker runs - my tests are passing", "created": "2016-09-12T17:56:00.000000"}, {"author": "557058:e484fb55-2ddc-43a0-968e-11d70ae3153c", "body": "Great, thanks [~accountid:557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b]. I'll close this as duplicate ", "created": "2016-09-13T10:07:00.000000"}], "components": [], "created": "2016-09-12T17:19:00.000000", "creator": "557058:e484fb55-2ddc-43a0-968e-11d70ae3153c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@470d39e2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz8so7:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Sep/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_19698_*|*_3_*:*_1_*:*_60437012_*|*_6_*:*_1_*:*_0"}], "description": "pxp-agent master and stable tests failing on 'intentional_shutdown_failover.rb'\n\nSample failed tests:\nhttps://jenkins.puppetlabs.com/view/puppet-agent/view/master/view/puppet-agent/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/31/SLAVE_LABEL=beaker,TEST_TARGET=windows2008r2-64a/consoleFull\n\nhttps://jenkins.puppetlabs.com/view/agent-platform-triage/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/25/SLAVE_LABEL=beaker,TEST_TARGET=windows2008r2-64a/consoleFull\n\n{code}\n19:06:50 Begin tests/failover/intentional_shutdown_failover.rb\n19:06:50 \n19:06:50 C97934 - agent should use next broker if primary is intentionally shutdown\n19:06:50   \n19:06:50   * Ensure each agent host has pxp-agent configured with multiple uris, running and associated\n19:06:50     \n19:06:50     kstlugatou20sc4.delivery.puppetlabs.net (windows2008r2-64-1) 19:06:50$ cmd.exe /c puppet resource service pxp-agent ensure=stopped\n19:06:50       service { 'pxp-agent':\n19:06:52         ensure => 'stopped',\n19:06:52       }\n19:06:52     \n19:06:53     kstlugatou20sc4.delivery.puppetlabs.net (windows2008r2-64-1) executed in 2.76 seconds\n19:06:53     \n19:06:53     kstlugatou20sc4.delivery.puppetlabs.net (windows2008r2-64-1) 19:06:53$ cmd.exe /c puppet config print ssldir\n19:06:53       C:/ProgramData/PuppetLabs/puppet/etc/ssl\n19:06:54     \n19:06:54     kstlugatou20sc4.delivery.puppetlabs.net (windows2008r2-64-1) executed in 1.24 seconds\n19:06:54     localhost $ scp /tmp/beaker20160907-16608-1dr6avk windows2008r2-64-1:/cygdrive/c/ProgramData/PuppetLabs/pxp-agent/etc/pxp-agent.conf {:ignore => }\n19:06:54     \n19:06:54     kstlugatou20sc4.delivery.puppetlabs.net (windows2008r2-64-1) 19:06:54$ rm -rf /cygdrive/c/ProgramData/PuppetLabs/pxp-agent/var/log/pxp-agent.log\n19:06:54       Trying command 60 times.\n19:06:54     .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .    .      Command `rm -rf /cygdrive/c/ProgramData/PuppetLabs/pxp-agent/var/log/pxp-agent.log` failed.\n19:07:59     RuntimeError: Command `rm -rf /cygdrive/c/ProgramData/PuppetLabs/pxp-agent/var/log/pxp-agent.log` failed.\n19:07:59     /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp-agent/acceptance/tests/failover/intentional_shutdown_failover.rb:19\n19:07:59     /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp-agent/acceptance/tests/failover/intentional_shutdown_failover.rb:14\n19:07:59     /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp-agent/acceptance/tests/failover/intentional_shutdown_failover.rb:14\n19:07:59     /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp-agent/acceptance/tests/failover/intentional_shutdown_failover.rb:13\n19:07:59     /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp-agent/acceptance/tests/failover/intentional_shutdown_failover.rb:4\n19:07:59     /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.51.0/bin/beaker:6\n19:07:59     Begin teardown\n19:07:59     \n19:07:59     sr7er6190moehcv.delivery.puppetlabs.net (redhat7-64-1) 19:07:59$ ps -C java -f | grep pcp-broker | sed 's/[^0-9]*//' | cut -d\\  -f1\n19:07:59       11084\n19:07:59     \n19:07:59     sr7er6190moehcv.delivery.puppetlabs.net (redhat7-64-1) executed in 0.03 seconds\n19:07:59     \n19:07:59     sr7er6190moehcv.delivery.puppetlabs.net (redhat7-64-1) 19:07:59$ kill -9 11084\n19:07:59     \n19:07:59     sr7er6190moehcv.delivery.puppetlabs.net (redhat7-64-1) executed in 0.01 seconds\n19:07:59     \n19:07:59     sr7er6190moehcv.delivery.puppetlabs.net (redhat7-64-1) 19:07:59$ cd /opt/puppet-git-repos/pcp-broker0; export LEIN_ROOT=ok;      lein with-profile internal-mirrors tk </dev/null >/var/log/pcp-broker.log 2>&1 &\n19:07:59     \n19:07:59     sr7er6190moehcv.delivery.puppetlabs.net (redhat7-64-1) executed in 0.01 seconds\n19:07:59     End teardown\n19:08:26     Warning: tests/failover/intentional_shutdown_failover.rb errored in 96.04 seconds\n...\n1:11:31           Failed: errored in TestSuite: report_and_raise_on_failure\n11:11:31           #<RuntimeError: Failed while running the tests suite>\n11:11:31           No tests to run for suite 'post_suite'\n11:11:31           No tests to run for suite 'pre_cleanup'\n11:11:31           \n11:11:31           You can reproduce this run with:\n11:11:31           /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp-agent/acceptance/.bundle/gems/bin/beaker --options-file merged_options.rb --hosts=tmp/redhat7-64m-windows2008r2-64a-9bded56b-bb8b-4502-b1ce-785317f4fa4c.yaml\n11:11:31           \n11:11:31           You can re-run commands against the already provisioned SUT(s) with:\n11:11:31           /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp-agent/acceptance/.bundle/gems/bin/beaker --options-file merged_options.rb --hosts=tmp/redhat7-64m-windows2008r2-64a-9bded56b-bb8b-4502-b1ce-785317f4fa4c.yaml\n11:11:31           \n11:11:31           Important ENV variables that may have affected your run:\n11:11:31               BUNDLE_PATH\t\t.bundle/gems\n11:11:31               BUNDLE_BIN\t\t.bundle/bin\n11:11:31               GEM_HOME\t\t/var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp-agent/acceptance/.bundle/gems\n11:11:31               GEM_PATH\t\t\n11:11:31               RUBYLIB\t\t/usr/local/rvm/gems/ruby-2.1.1/gems/bundler-1.12.5/lib\n11:11:31               PATH\t\t/var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/windows2008r2-64a/pxp-agent/acceptance/.bundle/gems/bin:/usr/local/rvm/gems/ruby-2.1.1/bin:/usr/local/rvm/gems/ruby-2.1.1@global/bin:/usr/local/rvm/rubies/ruby-2.1.1/bin:/usr/local/rvm/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/opt/puppetlabs/bin\n11:11:31               home\t\t/var/lib/jenkins\n11:11:31               project\t\tplatform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL=beaker,TEST_TARGET=windows2008r2-64a\n11:11:31               jenkins_build_url\t\thttps://jenkins.puppetlabs.com/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL=beaker,TEST_TARGET=windows2008r2-64a/31/\n11:11:31           Failed running the test suite.\n11:11:31 \n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31708", "fixedVersions": [], "id": "31708", "issueType": "Task", "key": "PCP-584", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:e484fb55-2ddc-43a0-968e-11d70ae3153c", "resolution": "Duplicate", "resolutionDate": "2016-09-13T10:07:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent tests failing on Windows 2008r2 (and sometimes other platforms?)", "timeSpent": "PT0S", "updated": "2016-09-13T10:07:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "https://code.google.com/p/android/issues/detail?id=62648\nhttps://lists.debian.org/debian-arm/2013/12/msg00000.html\n\n\nThis is an issue in libstdc++ that doesn't appear to be fixed yet.\n\nWe can possibly avoid it by using boost's exception_ptr. I may be able to look at that next week.", "created": "2016-09-09T12:40:00.000000"}, {"author": "63d40635a05386069cdb69d6", "body": "armhf with similar problems https://gist.github.com/stahnma/952788008e250d544f8903256b385672", "created": "2016-09-12T17:12:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Did you look through https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58938? Also, https://github.com/puppetlabs/cpp-pcp-client/pull/203 builds without std::exception_ptr", "created": "2016-09-15T18:17:00.000000"}, {"author": "63d40635a05386069cdb69d6", "body": "Build worked with that patch on both arm variants. \n\n", "created": "2016-09-16T15:20:00.000000"}, {"author": "63d40635a05386069cdb69d6", "body": "Looking for a merge on this PR. Appears to be good.\n\nOur switches running cumulus are running code built from this PR, so I'd like to see it in mainline soon.\n\n", "created": "2016-10-03T15:21:00.000000"}], "components": ["cpp-pcp-client"], "created": "2016-09-08T21:10:00.000000", "creator": "63d40635a05386069cdb69d6", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1caaad14"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz8r93:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Developer library, documented in CHANGELOG."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Sep/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_497904597_*|*_10007_*:*_1_*:*_2311997248_*|*_5_*:*_1_*:*_1379900916_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_28432_*|*_10004_*:*_1_*:*_96519403"}], "description": "I am working on a XCC build of debian-8-armel for our operations/IT folks to use on our network switches in London and Belfast; however, I am unable to get a clean puppet-agent build. \n\nSee https://gist.github.com/stahnma/3639d1b1855dc03e62bffa0c09378ceb for output. \n\nyou can look into `stahnma/puppet-agent#armel` if you'd like to see the code I'm running. The build is run via:\n\n{code}bundle exec build puppet-agent debian-8-armel{code}\n\nThis branch _does_ have the patch from puppetlabs/puppet-agent/pull/822 applied, as that is required for GCC 6.1 and friends to function. \n\nThe build tools are at: \n\n{code}\nii  pl-binutils-armel              2.26-3jessie                all          Puppet Labs Binutils\nii  pl-boost-armel                 1.61.0-3jessie              all          Puppet Inc boost\nii  pl-build-tools-staging-release 1.0-0jessie                 all          Release packages for the Puppet build tools staging repository\nii  pl-cmake                       3.5.2-4jessie               amd64        Puppet Labs cmake\nii  pl-gcc-armel                   6.1.0-4jessie               all          Puppet Labs GCC\nii  pl-pkg-config                  0.28-2jessie                amd64        Puppet Labs Pkg-config\nii  pl-ruby                        2.1.6-3jessie               amd64        Puppet Labs Ruby used for cross-compiling\nii  pl-yaml-cpp-armel              0.5.3-2jessie               all          Puppet Yaml CPP\n{code}\n\n/cc [~accountid:5ac3e8393f5ae0700bed9c63] (as he's waiting for the build) ", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32105", "fixedVersions": ["cpp-pcp-client 1.3.0"], "id": "32105", "issueType": "Task", "key": "PCP-582", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "63d40635a05386069cdb69d6", "resolution": "Fixed", "resolutionDate": "2016-10-12T12:31:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "cpp-pcp-client fails to build on debian-8-armel", "timeSpent": "PT0S", "updated": "2016-10-28T11:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "created": "2016-09-08T17:12:00.000000", "name": "nats-scripts.zip", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12366"}], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "https://github.com/MikaelSmith/pxp-agent/tree/nats is a nearly fully functional pxp-agent using NATS. Lots of hacks, but it works for blocking and non-blocking requests. I haven't yet setup a nonblocking-request to exercise getting multiple responses using the cnats examples, but might do that this afternoon. The only tricky part about nonblocking request is we need to subscribe to the reply INBOX until we get an error or the final transaction result.\n\nIt relies on https://github.com/puppetlabs/cpp-pcp-client/pull/201 (LTH-112) and https://github.com/puppetlabs/leatherman/pull/203 (PCP-563).\n\nThe attached nats-scripts.zip contains scripts I'm using for testing", "created": "2016-09-08T17:11:00.000000"}], "components": ["pxp-agent"], "created": "2016-09-08T17:08:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@45bbee3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-559"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz8r3j:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_11584_*|*_6_*:*_1_*:*_0"}], "description": "Investigate replacing PCP with NATS.io in pxp-agent.", "epicLinkSummary": "Evaluate NATS as a potential replacement for PCP", "estimate": "PT0S", "externalId": "31706", "fixedVersions": [], "id": "31706", "issueType": "Task", "key": "PCP-581", "labels": [], "originalEstimate": "PT0S", "parent": "32201", "parentSummary": "Evaluate NATS as a potential replacement for PCP", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Done", "resolutionDate": "2016-09-08T17:09:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Investigate using NATS in pxp-agent", "timeSpent": "PT0S", "updated": "2016-09-08T17:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Hacks to make this work at https://github.com/MikaelSmith/pcp-broker/tree/bump-deps and https://github.com/MikaelSmith/puppetserver/tree/integrate-pcp. Those two changes allow running pcp-broker on the same jetty webserver instance as puppet-server, sharing the same port.\n\npcp-broker benefitted from minor updates to its dependencies to be compatible with puppet-server, and needed to delay reading its broker cert until after service init so puppet-server could generate it.\n\npuppet-server was pretty straight-forward config. The only tricky bit is that pcp-broker requires the server's certname in config. [~accountid:557058:50693b46-2d67-4417-b1cc-9b21dadb467f] mentioned this is probably the direction puppet-server will go in the future. For now, it requires setting the cert settings for pcp-broker manually (which need to match Puppet's certname and ssldir settings). Eventually, puppet-server will probably handle this case by generating the master cert with the appropriate dns_alt_names (include puppet and hostname automatically).", "created": "2016-09-08T17:32:00.000000"}, {"author": "557058:50693b46-2d67-4417-b1cc-9b21dadb467f", "body": "IIUC, it sounds like one of the main challenges with this integration is around the approach that OSS Puppet Server uses to \"override\" the partially-formed SSL settings from the Trapperkeeper webserver config with values derived from puppet.conf - an approach we employed only to facilitate backward compatibility with the Ruby Puppet master configuration.  That is done via a call into the [override-webserver-settings! function|https://github.com/puppetlabs/trapperkeeper-webserver-jetty9/blob/1.5.10/src/puppetlabs/trapperkeeper/services/webserver/jetty9_service.clj#L21] in the TK WebserverService.\n\nIt definitely seems good to avoid having PCP Broker get involved in the business of understanding this override behavior - especially since we're still hoping to eliminate it at some point in the future.  One approach to solve this issue might be to expose a new service function from the WebserverService, called something like {{get-webserver-config}}, which could be called to provide a form of the webserver config which considers any override values, as opposed to just the raw webserver section config from Trapperkeeper.  This might be a good idea anyway to help limit the need for services other than the WebserverService to read the \"webserver\" config section.\n\n[~accountid:557058:a3132145-aae4-410f-9f7a-85a3117a0c14] - WDYT?", "created": "2016-09-08T21:25:00.000000"}, {"author": "557058:a3132145-aae4-410f-9f7a-85a3117a0c14", "body": "Yes, if this integration is going to move forward, we should definitely expose the necessary config via a function and not have other services reason about the config data.", "created": "2016-09-12T10:50:00.000000"}, {"author": "557058:a3132145-aae4-410f-9f7a-85a3117a0c14", "body": "The clean solution to this is somewhat blocked on the removal of webrick/rack support, PUP-3834.  (Along with associated server-side settings in the puppet.conf file.)", "created": "2016-09-12T10:52:00.000000"}], "components": ["pcp-broker"], "created": "2016-09-08T11:49:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@befb952"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-635"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hymlbz:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Sep/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_79532_*|*_3_*:*_1_*:*_17484710_*|*_10009_*:*_1_*:*_5622_*|*_5_*:*_1_*:*_512861183_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_3381143"}], "description": "One option for supporting scaled out Orchestrator communication is to simplify pcp-broker and integrate it with puppet-server, essentially making communication with the agent part of the puppet-server API (facilitated by a websockets connection). Explore what an initial phase of integrating pcp-broker in the puppet-server jvm (and sharing a port with puppet-server) would look like.", "epicLinkSummary": "Integrate pcp-broker with puppetserver", "estimate": "PT0S", "externalId": "31918", "fixedVersions": [], "id": "31918", "issueType": "Task", "key": "PCP-580", "labels": [], "originalEstimate": "PT0S", "parent": "31641", "parentSummary": "Integrate pcp-broker with puppetserver", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Done", "resolutionDate": "2016-09-08T17:38:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Explore colocating pcp-broker in puppet-server JVM", "timeSpent": "PT0S", "updated": "2016-11-07T16:17:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "PR is https://github.com/puppetlabs/pcp-test/pull/24", "created": "2016-09-12T04:34:00.000000"}], "components": ["pcp-test", "QA"], "created": "2016-09-08T04:47:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4f779284"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz8qev:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_14358663_*|*_1_*:*_1_*:*_24790418_*|*_10007_*:*_1_*:*_257557696_*|*_3_*:*_1_*:*_12688_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_62410378"}], "description": "Currently pcp-test's acceptance testing grabs a pcp-test package from a hardcoded URL to our internal file server.\nNow that pcp-test builds on Jenkins, acceptance should be updated to get the package to test from   builds.d.p.n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32104", "fixedVersions": [], "id": "32104", "issueType": "Improvement", "key": "PCP-579", "labels": [], "originalEstimate": "PT0S", "parent": "31796", "parentSummary": "Set up component performance testing for pcp-broker using pcp-test", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-09-12T08:33:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pcp-test acceptance should fetch package artifact from build server", "timeSpent": "PT0S", "updated": "2016-09-12T08:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "I'm going to look at this immediately (ahead of other pxp-agent test failures) because it _might_ relate to the unusual failure seen in PCP-286", "created": "2016-09-08T04:55:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Closing as cannot reproduce - I re-ran this test setup in a loop, and no test failures occurred in the 12 hours until the VMs expired.\nNote that the ticket this was expected to be related to (PCP-286) is reasonably straightforward to reproduce.", "created": "2016-09-09T04:08:00.000000"}], "components": ["pxp-agent package", "QA"], "created": "2016-09-07T08:16:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4927dfe1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz8p8f:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_98675975_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_59283426"}], "description": "https://jenkins.puppetlabs.com/job/experimental_pcp-test_intn-van-sys_master/1/SLAVE_LABEL=beaker,TEST_TARGET=redhat7-64a/console\n\ntests.service_stop_start.rb failed at the point where it removes pxp-agent's config file then expects the service to fail to start:\n\n{noformat}C93069 - Service Stop (from running, with configuration)\n  \n  d4pz3ldet48s4tm.delivery.puppetlabs.net (windows10ent-64-1) 02:45:14$ cmd.exe /c puppet resource service pxp-agent ensure=stopped\n    Notice: /Service[pxp-agent]/ensure: ensure changed 'running' to 'stopped'\n    service { 'pxp-agent':\n      ensure => 'stopped',\n    }\n  \n  d4pz3ldet48s4tm.delivery.puppetlabs.net (windows10ent-64-1) executed in 6.40 seconds\n  \n  d4pz3ldet48s4tm.delivery.puppetlabs.net (windows10ent-64-1) 02:45:20$ cmd.exe /c puppet resource service pxp-agent \n    service { 'pxp-agent':\n      ensure => 'stopped',\n      enable => 'true',\n    }\n  \n  d4pz3ldet48s4tm.delivery.puppetlabs.net (windows10ent-64-1) executed in 3.47 seconds\n\n* Remove configuration\n  \n  d4pz3ldet48s4tm.delivery.puppetlabs.net (windows10ent-64-1) 02:45:24$ cmd.exe /c puppet resource service pxp-agent ensure=stopped\n    service { 'pxp-agent':\n      ensure => 'stopped',\n    }\n  \n  d4pz3ldet48s4tm.delivery.puppetlabs.net (windows10ent-64-1) executed in 2.77 seconds\n  \n  d4pz3ldet48s4tm.delivery.puppetlabs.net (windows10ent-64-1) 02:45:26$ mv /cygdrive/c/ProgramData/PuppetLabs/pxp-agent/etc/pxp-agent.conf ~/pxp-agent.conf\n  \n  d4pz3ldet48s4tm.delivery.puppetlabs.net (windows10ent-64-1) executed in 0.15 seconds\n\n* C94686 - Service Start (from stopped, un-configured)\n  \n  d4pz3ldet48s4tm.delivery.puppetlabs.net (windows10ent-64-1) 02:45:27$ cmd.exe /c puppet resource service pxp-agent ensure=running\n    Notice: /Service[pxp-agent]/ensure: ensure changed 'stopped' to 'running'\n    service { 'pxp-agent':\n      ensure => 'stopped',\n    }\n  \n  d4pz3ldet48s4tm.delivery.puppetlabs.net (windows10ent-64-1) executed in 5.97 seconds\n  \n  d4pz3ldet48s4tm.delivery.puppetlabs.net (windows10ent-64-1) 02:45:32$ cmd.exe /c puppet resource service pxp-agent \n    service { 'pxp-agent':\n      ensure => 'running',\n      enable => 'true',\n    }\n  \n  d4pz3ldet48s4tm.delivery.puppetlabs.net (windows10ent-64-1) executed in 4.97 seconds\n  Minitest::Assertion: pxp-agent not in expected stopped state.\n  Expected /ensure => .stopped.,/ to match \"service { 'pxp-agent':\\n  ensure => 'running',\\n  enable => 'true',\\n}\\n\".\n  /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-64a/pxp-agent/acceptance/tests/service_stop_start.rb:26\n  /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-64a/pxp-agent/acceptance/tests/service_stop_start.rb:25\n  /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-64a/pxp-agent/acceptance/tests/service_stop_start.rb:72\n  /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-64a/pxp-agent/acceptance/tests/service_stop_start.rb:70\n  /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-64a/pxp-agent/acceptance/tests/service_stop_start.rb:38\n  /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-64a/pxp-agent/acceptance/tests/service_stop_start.rb:38\n  /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-64a/pxp-agent/acceptance/tests/service_stop_start.rb:38\n  /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-64a/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.50.0/bin/beaker:6\n  Begin teardown{noformat}", "environment": "windows10ent-64a\nSuite version: 1.6.2.122.gf8e9aa7\nSuite commit: f8e9aa71dd6fcc105910d81ca7285be62340a74a", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31717", "fixedVersions": [], "id": "31717", "issueType": "Bug", "key": "PCP-578", "labels": ["pxp_puppet-agent_ci"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Cannot Reproduce", "resolutionDate": "2016-09-09T04:08:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "service start test failed on Windows 10 Ent 64", "timeSpent": "PT0S", "updated": "2016-09-09T04:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] [~accountid:557058:093475a3-6bc8-4a70-8034-ae5a2ea66512] - the ticket that causes this problem - PA-438 - is not yet completed and may be re-implemented. The full changes we'll need in pxp-agent acceptance may change depending on how that ticket's closed.\n\nGoing to re-open this ticket in any case", "created": "2016-09-05T04:31:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I'm tempted to say we won't fix this. Not sure it matters much to us.", "created": "2017-08-16T11:33:00.000000"}, {"author": "557058:adac4e58-01ac-4fce-8be9-94131c26c73d", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] should I close as won't fix?", "created": "2017-09-12T18:38:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Yeah.", "created": "2017-09-12T18:39:00.000000"}, {"author": "557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8", "body": "Closing due to lack of activity in 2 years.  Feel free to reopen if needed.", "created": "2019-11-08T11:23:00.000000"}], "components": ["CI Blocker", "pxp-agent"], "created": "2016-09-02T11:44:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3ab787f3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz9rlb:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Sep/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_14105337_*|*_1_*:*_1_*:*_33334_*|*_10007_*:*_1_*:*_7806961_*|*_3_*:*_2_*:*_29810321589_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_210390167_*|*_10006_*:*_1_*:*_70356466969"}], "description": "CI job runs switched to including a run where the master includes the agent role. This causes {{tests/restart_host_run_puppet.rb}}, which also seems to trigger failure in {{tests/failover/intentional_shutdown_failover.rb}}.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31916", "fixedVersions": [], "id": "31916", "issueType": "Bug", "key": "PCP-577", "labels": ["pxp_puppet-agent_ci"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Won't Do", "resolutionDate": "2019-11-08T11:23:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Acceptance: restarting pcp-broker host causes test failures", "timeSpent": "PT0S", "updated": "2019-11-08T11:23:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "CiscoNX now passing in puppet-agent master CI", "created": "2016-09-07T08:27:00.000000"}], "components": ["CI Blocker", "pxp-agent"], "created": "2016-09-02T11:42:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6d0b3b3b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz8nmn:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "07/Sep/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_14107170_*|*_1_*:*_1_*:*_142724_*|*_10007_*:*_1_*:*_6506338_*|*_3_*:*_1_*:*_2179079_*|*_5_*:*_1_*:*_16943628188_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_397311708"}], "description": "https://jenkins.puppetlabs.com/view/puppet-agent/view/master/view/puppet-agent/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/30/SLAVE_LABEL=beaker,TEST_TARGET=cisconx-64a/console\n\n{code}\n17:02:05             Test Case tests/pxp-module-puppet/run_puppet_killed_puppet.rb reported: #<Beaker::Host::CommandFailure: Host 'fhpfqs2uo75jxl5.delivery.puppetlabs.net' exited with 1 running:\n17:02:05            source /etc/profile; sudo sh -c \" ip netns exec management kill -9 `cat /opt/puppetlabs/puppet/cache/state/agent_catalog_run.lock` \"\n17:02:05           Last 10 lines of output were:\n17:02:05           \tcat: /opt/puppetlabs/puppet/cache/state/agent_catalog_run.lock: Permission denied\n17:02:05           \tUsage:\n17:02:05           \t  kill pid ...              Send SIGTERM to every process listed.\n17:02:05           \t  kill signal pid ...       Send a signal to every process listed.\n17:02:05           \t  kill -s signal pid ...    Send a signal to every process listed.\n17:02:05           \t  kill -l                   List all signal names.\n17:02:05           \t  kill -L                   List all signal names in a nice table.\n17:02:05           \t  kill -l signal            Convert between signal numbers and names.>\n17:02:05               Test line: tests/pxp-module-puppet/run_puppet_killed_puppet.rb:72:in `block (4 levels) in run_test'\n{code}\n\nPrinting the lock file requires a sudo.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31704", "fixedVersions": ["pxp-agent 1.2.2"], "id": "31704", "issueType": "Bug", "key": "PCP-576", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-09-07T08:27:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Acceptance: cisco `cat agent_catalog_run.lock` fails due to insufficient permissions", "timeSpent": "PT0S", "updated": "2017-03-22T11:00:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "PR is https://github.com/puppetlabs/pcp-test/pull/25", "created": "2016-09-12T04:35:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Passing in CI:\nhttps://jenkins.puppetlabs.com/job/platform_pcp-test_intn-van-sys_master/3/", "created": "2016-09-16T02:47:00.000000"}], "components": ["pcp-test", "QA"], "created": "2016-09-02T05:55:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "pcp-test's Rakefile should support a _ci:acceptance_ task that acceptance tests pcp-test against an environment specified TEST_TARGET\nThe task should be managed using Rototiller"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@45127749"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz8nef:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_35713060_*|*_1_*:*_1_*:*_602381778_*|*_10007_*:*_1_*:*_303472204_*|*_3_*:*_1_*:*_256784813_*|*_5_*:*_1_*:*_0"}], "description": "Currently, pcp-test's acceptance [Rakefile|https://github.com/puppetlabs/pcp-test/blob/master/acceptance/Rakefile] has an 'acceptance' task that just fires off a hardcoded beaker command that runs against a static host file.\n\nThe Rakefile should read a TEST_TARGET value from the environment and use beaker-hostgenerator to create a hosts file.\n\nAnd it should eventually probably support at least two tasks:\n_ci:acceptance_ - run pcp-test acceptance testing\n_ci:pcp_broker:load_ - run a load test against pcp-broker", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32203", "fixedVersions": [], "id": "32203", "issueType": "Task", "key": "PCP-575", "labels": [], "originalEstimate": "PT0S", "parent": "31796", "parentSummary": "Set up component performance testing for pcp-broker using pcp-test", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-09-16T02:47:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pcp-test: Create acceptance rake tasks", "timeSpent": "PT0S", "updated": "2016-12-01T03:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "My opinion: \nUsing Puppet for acceptance setup, where possible, is ideal", "created": "2016-09-02T05:37:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Not planning to do more with pcp-test at the moment.", "created": "2017-03-01T17:55:00.000000"}], "components": ["QA"], "created": "2016-09-02T05:24:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "pcp-test and pxp-agent use the same method to deploy pcp-broker"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3c81e2e7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz8ne7:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Mar/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_15600660312_*|*_6_*:*_1_*:*_0"}], "description": "pcp-test acceptance sets up pcp-broker using a puppet module (see [here|https://github.com/puppetlabs/pcp-test/blob/master/acceptance/setup/common/040_InstallPCPBroker.rb#L5])\npxp-agent acceptance sets up pcp-broker using beaker code (see [https://github.com/puppetlabs/pxp-agent/blob/master/acceptance/setup/common/050_Setup_Broker.rb|])\n\nThere should be a common method to manage a pcp-broker instance in testing", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32103", "fixedVersions": [], "id": "32103", "issueType": "Task", "key": "PCP-574", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Won't Do", "resolutionDate": "2017-03-01T17:55:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Create common method of deploying pcp-broker for testing", "timeSpent": "PT0S", "updated": "2017-03-01T17:55:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "This has been passing recently in CI, but Jenkins warns that it has failed 9 times in the last 15 runs", "created": "2016-09-13T03:48:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Blocked by QENG-4420 - currently the cisconx-64a test target is not being tested in puppet-agent CI", "created": "2016-09-29T07:15:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "pxp-agent acceptance currently fails on cisconx-64a due to PA-569 - \"No space left on device\" error during puppet-agent install\n\n{noformat}Errored Tests Cases:\n    Test Case setup/aio/pre-suite/010_Install.rb reported: #<Beaker::Host::CommandFailure: Host 'q9n6a33c8ncr5mo.delivery.puppetlabs.net' exited with 1 running:\n   source /etc/profile", "created": "2016-09-29T07:44:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Looks like this ticket was duplicated as PCP-576 then fixed on master under that ticket.\nI've merged that fix from master back to stable", "created": "2016-10-04T08:10:00.000000"}], "components": ["pxp-agent package", "QA"], "created": "2016-09-02T05:16:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7389cd8b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz8ndz:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2340004881_*|*_3_*:*_2_*:*_15579187_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_419669882"}], "description": "Example:\nhttps://jenkins.puppetlabs.com/view/puppet-agent/view/master/view/puppet-agent/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/30/SLAVE_LABEL=beaker,TEST_TARGET=cisconx-64a/testReport/(root)/tests_pxp-module-puppet/run_puppet_killed_puppet_rb/\n\n{noformat}    * Run Puppet on agents\n{:envelope=>{:id=>\"97a54e04-7885-41e8-9e30-395aa81bd1e4\", :targets=>[\"pcp://nyx/ruby-pcp-client-6225\"], :message_type=>\"http://puppetlabs.com/rpc_provisional_response\", :sender=>\"pcp://fhpfqs2uo75jxl5.delivery.puppetlabs.net/agent\", :expires=>\"2016-09-02T00:01:06.501430Z\"}, :data=>{\"transaction_id\"=>\"fae178d9-d525-4f24-a62c-9696cc6641fa\"}}    \n    * Kill the first agent run on fhpfqs2uo75jxl5.delivery.puppetlabs.net\n      \n      fhpfqs2uo75jxl5.delivery.puppetlabs.net (cisconx-64-1) 17:01:01$ source /etc/profile; sudo sh -c \" ip netns exec management puppet agent --configprint agent_catalog_run_lockfile \"\n        /opt/puppetlabs/puppet/cache/state/agent_catalog_run.lock\n      \n      fhpfqs2uo75jxl5.delivery.puppetlabs.net (cisconx-64-1) executed in 2.43 seconds\n      \n      fhpfqs2uo75jxl5.delivery.puppetlabs.net (cisconx-64-1) 17:01:03$ source /etc/profile; sudo sh -c \" ip netns exec management test -e /opt/puppetlabs/puppet/cache/state/agent_catalog_run.lock \"\n      \n      fhpfqs2uo75jxl5.delivery.puppetlabs.net (cisconx-64-1) executed in 0.17 seconds\n      \n      fhpfqs2uo75jxl5.delivery.puppetlabs.net (cisconx-64-1) 17:01:04$ source /etc/profile; sudo sh -c \" ip netns exec management kill -9 `cat /opt/puppetlabs/puppet/cache/state/agent_catalog_run.lock` \"\n        cat: /opt/puppetlabs/puppet/cache/state/agent_catalog_run.lock: Permission denied\n        Usage:\n          kill pid ...              Send SIGTERM to every process listed.\n          kill signal pid ...       Send a signal to every process listed.\n          kill -s signal pid ...    Send a signal to every process listed.\n          kill -l                   List all signal names.\n          kill -L                   List all signal names in a nice table.\n          kill -l signal            Convert between signal numbers and names.\n      \n      fhpfqs2uo75jxl5.delivery.puppetlabs.net (cisconx-64-1) executed in 0.11 seconds\n      Exited: 1\n      Beaker::Host::CommandFailure: Host 'fhpfqs2uo75jxl5.delivery.puppetlabs.net' exited with 1 running:\n       source /etc/profile; sudo sh -c \" ip netns exec management kill -9 `cat /opt/puppetlabs/puppet/cache/state/agent_catalog_run.lock` \"\n      Last 10 lines of output were:\n      \tcat: /opt/puppetlabs/puppet/cache/state/agent_catalog_run.lock: Permission denied\n      \tUsage:\n      \t  kill pid ...              Send SIGTERM to every process listed.\n      \t  kill signal pid ...       Send a signal to every process listed.\n      \t  kill -s signal pid ...    Send a signal to every process listed.\n      \t  kill -l                   List all signal names.\n      \t  kill -L                   List all signal names in a nice table.\n      \t  kill -l signal            Convert between signal numbers and names.\n      /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/cisconx-64a/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_killed_puppet.rb:72\n      /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/cisconx-64a/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_killed_puppet.rb:62\n      /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/cisconx-64a/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_killed_puppet.rb:61\n      /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/cisconx-64a/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_killed_puppet.rb:61\n      /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/cisconx-64a/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_killed_puppet.rb:9\n      /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/cisconx-64a/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.50.0/bin/beaker:6\n      Begin teardown{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32066", "fixedVersions": [], "id": "32066", "issueType": "Bug", "key": "PCP-573", "labels": ["pxp_puppet-agent_ci"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Duplicate", "resolutionDate": "2016-10-04T08:10:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "run_puppet_killed_puppet.rb fails on Cisco NX", "timeSpent": "PT0S", "updated": "2016-10-04T08:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [{"attacher": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "created": "2016-08-31T07:18:00.000000", "name": "solaris_tests_console_output.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12315"}], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Multiple failures in the next build as well:\nhttps://jenkins.puppetlabs.com/view/puppet-agent/view/master/view/puppet-agent/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/27/SLAVE_LABEL=beaker,TEST_TARGET=solaris10-64a/#showFailuresLink", "created": "2016-08-31T07:15:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] this may be a side effect of fixing the mistake in pxp-agent acceptance where kill was not being passed SIGALRM correctly and kill was just defaulting to SIGTERM.\nI'm still investigating", "created": "2016-09-01T09:09:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Passing in puppet-agent master CI", "created": "2016-09-07T08:25:00.000000"}], "components": ["pxp-agent package", "QA"], "created": "2016-08-31T07:11:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Test failures investigated; and either fixed in test code, or ticketed as specific issues."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@410ab8c3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz8ls7:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_12361806_*|*_1_*:*_1_*:*_4499388_*|*_10007_*:*_1_*:*_382451_*|*_3_*:*_1_*:*_99922663_*|*_5_*:*_1_*:*_16943847731_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_492064289"}], "description": "https://jenkins.puppetlabs.com/view/puppet-agent/view/master/view/puppet-agent/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/26/SLAVE_LABEL=beaker,TEST_TARGET=solaris10-64a/consoleFull\n\nTwo tests fail where the agent is missing from the broker's inventory response; but it does appear in other inventory_response's before and after the failing requests.\n \nTwo tests fail where PXP reports an agent run as still running after an allowed 50 retries. \n\nThe first failing test in the suite appears to be because the reported status for a PXP puppet run is \"unknown\"", "environment": "Master branch\nTEST_TARGET solaris10-64a\nSUITE_VERSION 1.6.0.107.g6176852\nSUITE_COMMIT 617685200dd161d9558ff1e937f6eaffe2692d02", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32202", "fixedVersions": ["pxp-agent 1.2.2"], "id": "32202", "issueType": "Bug", "key": "PCP-572", "labels": ["pxp_puppet-agent_ci"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-09-07T08:25:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Acceptance failures on Solaris 10 64bit", "timeSpent": "PT0S", "updated": "2017-03-22T11:02:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Some failure examples:\n{code}\n     ukr2lq40bx7hv6m.delivery.puppetlabs.net (cisconx-64-1) 17:07:35$ source /etc/profile", "created": "2016-08-25T10:18:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "{code}\n      * Start long-running Puppet agent jobs\n        \n        r7sxwvnlnz28b2z.delivery.puppetlabs.net (solaris10-64-1) 17:20:00$ puppet agent --test --environment run_puppet_killed_puppet_rly7qz13 --server aofl66uy4c7mu6w.delivery.puppetlabs.net >/dev/null & echo $!\n          1035\n          Error: Command exceeded timeout\n          Error: /Stage[main]/Main/Node[default]/Exec[sleep]/returns: change from notrun to 0 failed: Command exceeded timeout\n        \n        r7sxwvnlnz28b2z.delivery.puppetlabs.net (solaris10-64-1) executed in 303.14 seconds\n      \n      * Wait until Puppet starts executing\n        \n        r7sxwvnlnz28b2z.delivery.puppetlabs.net (solaris10-64-1) 17:25:03$ ps -ef | grep '/bin/sleep' | grep -v 'grep'\n          Trying command 15 times.\n        .        \n        r7sxwvnlnz28b2z.delivery.puppetlabs.net (solaris10-64-1) 17:25:03$ ps -ef | grep '/bin/sleep' | grep -v 'grep' ostensibly successful.\n{code}", "created": "2016-08-25T10:19:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Closing as simply \"Done\" - tests are now passing, fixes were either done in other tickets or as maintenance - nothing further to do for this ticket", "created": "2016-09-28T10:18:00.000000"}], "components": ["pxp-agent package"], "created": "2016-08-25T03:30:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@182971f2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz8h5b:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Aug/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2962079982_*|*_5_*:*_1_*:*_9169024112_*|*_6_*:*_1_*:*_0"}], "description": "https://jenkins.puppetlabs.com/view/puppet-agent%20suite%20pipelines/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/22/\n\n tests/pxp-module-puppet.run_puppet_killed_puppet.rb failed on Solaris 10, CiscoNX and CentOS 4\n\nSolaris 10 also had failures for tests/pxp-module-puppet.restart_pxp_agent_during_non_blocking_run.rb and tests/pxp-module-puppet.run_puppet_twice.rb", "environment": "Puppet agent master 1.6.0.97.g9099b4d\npxp-agent master acceptance at ref 5ff1a6d", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32102", "fixedVersions": ["pxp-agent 1.2.2"], "id": "32102", "issueType": "Bug", "key": "PCP-571", "labels": ["pxp_puppet-agent_ci"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Done", "resolutionDate": "2016-09-28T10:18:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "New \"run puppet\" acceptance tests have some failures in CI", "timeSpent": "PT0S", "updated": "2017-01-12T12:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Able to setup authorization rules similar to MCO authorization model. Added notes to a shared document.", "created": "2016-08-31T17:40:00.000000"}], "components": [], "created": "2016-08-24T09:54:00.000000", "creator": "557058:a575383d-42ee-427e-9445-514f5f8909b2", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@44fb33e5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-559"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz8gjz:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "31/Aug/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_232777_*|*_3_*:*_1_*:*_542705968_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_89833955"}], "description": "Catalog types of actions we would want to be able to restrict/control authorization within NATS", "epicLinkSummary": "Evaluate NATS as a potential replacement for PCP", "estimate": "PT0S", "externalId": "31703", "fixedVersions": [], "id": "31703", "issueType": "Task", "key": "PCP-569", "labels": [], "originalEstimate": "PT0S", "parent": "32201", "parentSummary": "Evaluate NATS as a potential replacement for PCP", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a575383d-42ee-427e-9445-514f5f8909b2", "resolution": "Done", "resolutionDate": "2016-08-31T17:40:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Investigate authorization using NATS", "timeSpent": "PT0S", "updated": "2016-08-31T17:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This is still happening. There's a chance this is a race in pcp-broker, but seems more likely to me that it's an issue in ruby-pcp-client. I haven't been able to reproduce it to do much further debugging.", "created": "2017-04-20T09:48:00.000000"}, {"author": "557058:5f73e620-a5f5-44a8-a863-f1e0061b987a", "body": "Just for giggles, a link that will go away before we see this again. :P https://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/CVE/view/Suite/job/platform_puppet-agent-cve_intn-van-sys_suite-daily-pxp-agent-CVE-2017-2292-1.10.x/5/SLAVE_LABEL=beaker,TEST_TARGET=debian7-64a/testReport/junit/(root)/tests_pxp-module-puppet/run_puppet_killed_puppet_rb/", "created": "2017-04-20T09:50:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Pretty sure we've fixed this, there was an issue in how we retried failed connections. See PCP-750.", "created": "2017-08-15T18:32:00.000000"}], "components": ["pxp-agent package"], "created": "2016-08-24T02:57:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1b4e1d8e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz8gdj:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/Apr/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_30814557749_*|*_6_*:*_1_*:*_0"}], "description": "https://jenkins.puppetlabs.com/view/puppet-agent%20suite%20pipelines/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/13/SLAVE_LABEL=beaker,TEST_TARGET=osx1010-64a/testReport/junit/(root)/tests_pxp-module-puppet/restart_pxp_agent_during_non_blocking_run_rb/\n\n*Error Message*\n\n{noformat}Didn't receive a response for PCP inventory request in 60 seconds{noformat}\n\n*Stacktrace*\n{noformat}/var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/osx1010-64a/pxp-agent/acceptance/lib/pxp-agent/test_helper.rb:192:in `rescue in pcp_broker_inventory'\\n/var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/osx1010-64a/pxp-agent/acceptance/lib/pxp-agent/test_helper.rb:195:in `pcp_broker_inventory'\\n/var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/osx1010-64a/pxp-agent/acceptance/lib/pxp-agent/test_helper.rb:220:in `block in is_associated?'\\n/var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/osx1010-64a/pxp-agent/acceptance/lib/pxp-agent/test_helper.rb:219:in `times'\\n/var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/osx1010-64a/pxp-agent/acceptance/lib/pxp-agent/test_helper.rb:219:in `is_associated?'\\ntests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb:80:in `block (5 levels) in run_test'\\n/var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/osx1010-64a/pxp-agent/acceptance/lib/pxp-agent/test_helper.rb:63:in `show_pcp_logs_on_failure'\\ntests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb:79:in `block (4 levels) in run_test'\\ntests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb:75:in `each'\\ntests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb:75:in `block (3 levels) in run_test'\\n/var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/osx1010-64a/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.50.0/lib/beaker/dsl/structure.rb:43:in `step'\\ntests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb:74:in `block (2 levels) in run_test'\\n/var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/osx1010-64a/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.50.0/lib/beaker/dsl/structure.rb:58:in `test_name'\\ntests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb:10:in `block in run_test'\\n/var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/osx1010-64a/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.50.0/lib/beaker/test_case.rb:133:in `eval'\\n/var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/osx1010-64a/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.50.0/lib/beaker/test_case.rb:133:in `block in run_test'\\n/usr/local/rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/benchmark.rb:294:in `realtime'\\n/var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/osx1010-64a/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.50.0/lib/beaker/test_case.rb:130:in `run_test'\\n/var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/osx1010-64a/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.50.0/lib/beaker/test_suite.rb:325:in `block in run'\\n/var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/osx1010-64a/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.50.0/lib/beaker/test_suite.rb:322:in `each'\\n/var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/osx1010-64a/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.50.0/lib/beaker/test_suite.rb:322:in `run'\\n/var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/osx1010-64a/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.50.0/lib/beaker/test_suite.rb:371:in `run_and_raise_on_failure'\\n/var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/osx1010-64a/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.50.0/lib/beaker/cli.rb:174:in `run_suite'\\n/var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/osx1010-64a/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.50.0/lib/beaker/cli.rb:100:in `execute!'\\n/var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/osx1010-64a/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.50.0/bin/beaker:6:in `<top (required)>'\\n/var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/osx1010-64a/pxp-agent/acceptance/.bundle/gems/bin/beaker:23:in `load'\\n/var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/osx1010-64a/pxp-agent/acceptance/.bundle/gems/bin/beaker:23:in `<main>'{noformat}\n\nThis test was the only failing test, and was in the middle of multiple passing tests; and almost all tests will check inventory. So this appears to be a singular error in getting the PCP inventory", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31532", "fixedVersions": [], "id": "31532", "issueType": "Bug", "key": "PCP-568", "labels": ["maintenance", "pxp_puppet-agent_ci"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2017-08-15T18:33:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent test failed due to missing PCP inventory response", "timeSpent": "PT0S", "updated": "2017-08-15T18:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "attachments": [], "comments": [{"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "A proof of concept implementation of PXP over NATS can be found in the following branches:\n* https://github.com/mruzicka/clj-pcp-client/tree/nats\n* https://github.com/mruzicka/clj-pxp-puppet/tree/nats\n* https://github.com/mruzicka/pxp-agent/tree/nats\n\nNote that the pxp-agent code depends on:\n* https://github.com/puppetlabs/leatherman/pull/203\n* https://github.com/puppetlabs/cpp-pcp-client/pull/201", "created": "2016-09-15T18:51:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "The referenced implementation does not provide the inventory. As suggested in the description a simple service could be implemented to provide it. The implementation would go along these lines:\n* there would be two predefined subjects:\n** {{/beacon}} intended for submitting \"beacon\" messages by clients (perhaps just agents, because we don't really need to know about controllers)\n** {{/server}} a subject for the inventory requests (intentionally matches the PCP target used for inventory requests in PCP), it is a separate subject so that the handlers for these are as independent from each other as possible and thus don't block each other\n* a service would monitor the {{/beacon}} subject and build the inventory database based on the received messages, at the same time it would answer inventory requests on the {{/server}} subject\n* the clients which would want to be registered in the inventory (probably just agents) would need to periodically send the beacon messages to the {{/beacon}} subject", "created": "2016-09-16T09:23:00.000000"}], "components": [], "created": "2016-08-23T15:01:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1df6cb73"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-559"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz8qgf:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "5.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Sep/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1796182853_*|*_3_*:*_1_*:*_504071245_*|*_5_*:*_1_*:*_0"}], "description": "The Orchestrator has a few expectations: be able to send a non-blocking request and get status later, get quick feedback when a node is unavailable. We should identify how to provide this functionality with NATS in-place of PCP.\n\nThis is probably mostly scouring the documentation and playing with a NATS broker to see what information we can get out of it. A few ideas for providing inventory service:\n- the PCP inventory is really a reflection of nodes that have connected and not cleanly disconnected, that have checked in within the last 15 minutes\n- a service that periodically pings nodes can provide status for nodes that were connected within the last 15 minutes\n- PXP clients could broadcast to a queue when they connect/disconnect for services to get quicker updates when they join/leave\n\nThe above suggests clj-pxp-puppet probably gets replaced with a Trapperkeeper service that keeps track of inventory.", "epicLinkSummary": "Evaluate NATS as a potential replacement for PCP", "estimate": "PT0S", "externalId": "32065", "fixedVersions": [], "id": "32065", "issueType": "Task", "key": "PCP-567", "labels": [], "originalEstimate": "PT0S", "parent": "32201", "parentSummary": "Evaluate NATS as a potential replacement for PCP", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Done", "resolutionDate": "2016-09-19T05:59:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Plan how to provide clj-pxp-puppet functionality for Orchestrator with NATS", "timeSpent": "PT0S", "updated": "2016-09-19T05:59:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "attachments": [], "comments": [{"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "Support for NATS has been added to pcp-client: https://github.com/mruzicka/clj-pcp-client/tree/nats\nclj-pxp-puppet should be able to use it unmodified", "created": "2016-09-13T09:55:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "Minor changes were required in clj-pxp-puppet after all: https://github.com/mruzicka/clj-pxp-puppet/tree/nats", "created": "2016-09-14T08:03:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "The functionality can be tested against a modified pxp-agent, available here: https://github.com/mruzicka/pxp-agent/tree/nats\nNote that modified pxp-agent code depends on:\n* https://github.com/puppetlabs/leatherman/pull/203\n* https://github.com/puppetlabs/cpp-pcp-client/pull/201", "created": "2016-09-19T05:59:00.000000"}], "components": [], "created": "2016-08-23T14:58:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@43487a1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-559"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz8qfb:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Sep/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_68409479_*|*_3_*:*_1_*:*_2158560881_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_73513804"}], "description": "Create a small PXP controller test (probably in Java/Clojure) for trying out functionality with pxp-agent.", "epicLinkSummary": "Evaluate NATS as a potential replacement for PCP", "estimate": "PT0S", "externalId": "31914", "fixedVersions": [], "id": "31914", "issueType": "Task", "key": "PCP-566", "labels": [], "originalEstimate": "PT0S", "parent": "32201", "parentSummary": "Evaluate NATS as a potential replacement for PCP", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Done", "resolutionDate": "2016-09-19T05:59:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Implement a test PXP controller", "timeSpent": "PT0S", "updated": "2016-09-19T05:59:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "attachments": [], "comments": [], "components": [], "created": "2016-08-23T14:54:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6107d8f1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-559"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz8qg7:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Sep/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1372085834_*|*_3_*:*_1_*:*_110551326_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_448972919"}], "description": "Our component testing so far focused on PCP and the broker. The equivalent tools are at http://nats.io/documentation/tutorials/nats-benchmarking/. https://github.com/Logimethods/nats-connector-gatling may help with Gatling testing.\n\nThe one area I'd like to test further is client capacity. That's an important input to the deployment topology we'd need in a PE environment.\nClients will have multiple subscriptions. This needs to be included in perf testing.", "epicLinkSummary": "Evaluate NATS as a potential replacement for PCP", "estimate": "PT0S", "externalId": "31716", "fixedVersions": [], "id": "31716", "issueType": "Task", "key": "PCP-565", "labels": [], "originalEstimate": "PT0S", "parent": "32201", "parentSummary": "Evaluate NATS as a potential replacement for PCP", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Done", "resolutionDate": "2016-09-14T23:28:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Plan component performance testing of PXP with NATS", "timeSpent": "PT0S", "updated": "2016-09-14T23:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Spiked in https://github.com/MikaelSmith/pxp-agent/tree/nats.", "created": "2016-09-14T16:02:00.000000"}], "components": [], "created": "2016-08-23T14:52:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1f8716ff"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-559"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz8u6f:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_67744883_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_506046703_*|*_10005_*:*_1_*:*_1837282310"}], "description": "Add a NATS connector using the C client library to pxp-agent, and verify it works.\n\nProbably make PXPConnector an abstract base class that we implement for PCP, so we can implement a similar wrapper for NATS and decide which at runtime.", "epicLinkSummary": "Evaluate NATS as a potential replacement for PCP", "estimate": "PT0S", "externalId": "31531", "fixedVersions": [], "id": "31531", "issueType": "Task", "key": "PCP-564", "labels": [], "originalEstimate": "PT0S", "parent": "32201", "parentSummary": "Evaluate NATS as a potential replacement for PCP", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Done", "resolutionDate": "2016-09-20T12:37:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Try adding a NATS connector to pxp-agent", "timeSpent": "PT0S", "updated": "2016-09-20T12:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["cpp-pcp-client"], "created": "2016-08-23T14:20:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Code refactor."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@66b6914b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz8t67:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1847075_*|*_10007_*:*_2_*:*_16681930538_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_2_*:*_157944677"}], "description": "Switch to using Leatherman for thread/chrono utils and schema validation, and remove that code from cpp-pcp-client. This is an attempt to isolate PCP implementation to cpp-pcp-client, and move any other code used by pxp-agent to a common library (Leatherman).", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31530", "fixedVersions": [], "id": "31530", "issueType": "Task", "key": "PCP-563", "labels": ["maintenance"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Won't Do", "resolutionDate": "2017-03-06T11:36:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Move thread and schema validation utilities to Leatherman", "timeSpent": "PT0S", "updated": "2017-03-06T11:36:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2016-08-23T14:17:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Code refactoring, functionality should continue unchanged."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@39af319"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz8t6f:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_69849536_*|*_10007_*:*_3_*:*_16681921271_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_2_*:*_26437_*|*_10005_*:*_1_*:*_90148804"}], "description": "Rework pxp-agent's dependency on cpp-pcp-client to isolate it to a PXPConnector class.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32291", "fixedVersions": [], "id": "32291", "issueType": "Task", "key": "PCP-562", "labels": ["maintenance"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Won't Do", "resolutionDate": "2017-03-06T11:36:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Isolate pxp-agent dependency on cpp-pcp-client", "timeSpent": "PT0S", "updated": "2017-03-06T11:36:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pcp-test"], "created": "2016-08-22T08:41:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3c59d414"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz8dnz:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_16949531601_*|*_6_*:*_1_*:*_0"}], "description": "When I used the following configuration:\n{noformat}{\n    \"logfile\"  : \"/var/log/puppetlabs/pcp-test/pcp-test.log\",\n    \"results-dir\" : \"/var/log/puppetlabs/pcp-test/logs\",\n    \"loglevel\" : \"trace\",\n    \"broker-ws-uris\" : [\"wss://broker.example.com:8142/pcp/\"],\n    \"certificates-dir\" : \"/opt/puppetlabs/certs\",\n    \"connection-test-parameters\" : {\n        \"num-runs\"                  : 2,\n        \"inter-run-pause-ms\"        : 5000,\n        \"concurrency\"               : 2,\n        \"num-endpoints\"             : 50,\n        \"inter-endpoint-pause-ms\"   : 150,\n        \"endpoints-increment\"       : 0,\n        \"concurrency-increment\"     : 0,\n        \"ws-connection-timeout-ms\"  : 2000,\n        \"association-request-ttl-s\" : 5\n    }\n}{noformat}\n\n... pcp-test fails to start the connection test:\n\n{noformat}2016-08-22 14:30:48.330860 DEBUG puppetlabs.pcp-test:180 - Logging configured\n2016-08-22 14:30:48.331372 ERROR puppetlabs.pcp-test.command:60 - Unexpected failure: unknown object entry with key: association-timeout-s{noformat}\n\nIt works if I add \"association-timeout-s\" to connection-test-parameters, but the schema indicates it is optional: https://github.com/puppetlabs/pcp-test/blob/b7ae44056e1b1ccbf079b329de065181308eccd0/lib/src/schemas.cc#L73", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32290", "fixedVersions": [], "id": "32290", "issueType": "Bug", "key": "PCP-561", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Won't Fix", "resolutionDate": "2017-03-06T11:53:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Connection test requires association-timeout-s in config, contrary to schema", "timeSpent": "PT0S", "updated": "2017-03-06T11:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pcp-test"], "created": "2016-08-22T07:53:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@f6b7dc5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz8dn3:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_16952398209_*|*_6_*:*_1_*:*_0"}], "description": "When I use the following config:\n{noformat}{\n    \"logfile\"  : \"/var/log/pcp-test.log\",\n    \"results-dir\" : \"logs\",\n    \"loglevel\" : \"trace\",\n    \"broker-ws-uris\" : [\"wss://localhost:8142/pcp/\",\n                        \"wss://broker.example.com:8142/pcp/\"],\n    \"certificates-dir\" : \"/opt/puppetlabs/certs\",\n    \"connection-test-parameters\" : {\n        \"num-runs\"                 : 2,\n        \"inter-run-pause-ms\"       : 5000,\n        \"concurrency\"              : 2,\n        \"num-endpoints\"            : 50,\n        \"inter-endpoint-pause-ms\"  : 150,\n        \"endpoints-increment\"      : 0,\n        \"concurrency-increment\"    : 0,\n        \"ws-connection-timeout-ms\" : 2000,\n        \"association-request-ttl-s\"        : 5\n    }\n}{noformat}\n\nAnd the following execution:\n{noformat}./pcp-test trivial --config-file pcp-test.conf{noformat}\n\nIt exits with an error:\n{noformat}[root@pcp-test bin]# ./pcp-test trivial --config-file pcp-test.conf\nConfiguration error: invalid certificate directory\n\n[root@pcp-test bin]# echo $?\n1\n[root@pcp-test bin]#{noformat}\n\nIf I pass the same path at command line, it works OK:\n{noformat}./pcp-test trivial --config-file pcp-test.conf --certificates-dir /opt/puppetlabs/certs{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31912", "fixedVersions": [], "id": "31912", "issueType": "Bug", "key": "PCP-560", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Won't Fix", "resolutionDate": "2017-03-06T11:53:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Config \"certificates-dir\" does not work from config file", "timeSpent": "PT0S", "updated": "2017-03-06T11:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Finished investigation, recommendation summarized at the top of https://docs.google.com/a/puppet.com/document/d/1lGHaYBPsNxTY_UOOuQxeaeA9AnOocmRBiD97mbh4-c8/edit?usp=sharing", "created": "2016-09-29T09:07:00.000000"}], "components": [], "created": "2016-08-19T14:49:00.000000", "creator": "557058:a575383d-42ee-427e-9445-514f5f8909b2", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Dumpling"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@691143a5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-3"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "NATS evaluation"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "Done"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "yellow"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo6lr:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "29/Sep/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3521887469_*|*_6_*:*_1_*:*_0"}], "description": "PCP originally had a broader scope than a communication tool for our own services; it deserves reconsideration in light of the change to smaller scope.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32201", "fixedVersions": [], "id": "32201", "issueType": "Epic", "key": "PCP-559", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a575383d-42ee-427e-9445-514f5f8909b2", "resolution": "Done", "resolutionDate": "2016-09-29T09:07:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Evaluate NATS as a potential replacement for PCP", "timeSpent": "PT0S", "updated": "2016-10-05T10:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "This can be closed as a duplicate of PCP-545 , but there is an open PR https://github.com/puppetlabs/pxp-agent/pull/473 to at least improve the test failure output , that should be resolved before closing this as duplicate", "created": "2016-08-18T08:48:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Changing from bug to an improvement on the test code, so this ticket is no longer a duplicate of PCP-545 and can be resolved as just a test code update", "created": "2016-08-18T09:28:00.000000"}], "components": ["pxp-agent package", "QA"], "created": "2016-08-18T04:59:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1a96bf20"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz8b7j:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_9353532_*|*_1_*:*_1_*:*_16202547_*|*_10007_*:*_1_*:*_87828465_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_234374812"}], "description": "https://jenkins.puppetlabs.com/view/puppet-agent%20suite%20pipelines/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/lastCompletedBuild/testReport/\n\nsles11-64a\ncumulus25-64a\narista4-32a\nsles11-32a\nsles10-64a\n\nAll failed tests/pxp-module-puppet.run_puppet_result_changed.rb with an error like:\n\n{noformat}* Send an rpc_blocking_request to all agents\n      \n      * Check Run Puppet response for n2yltxhsvt46g5g.delivery.puppetlabs.net\n        NoMethodError: undefined method `has_key?' for nil:NilClass\n        /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/arista4-32a/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_result_changed.rb:50\n        /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/arista4-32a/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_result_changed.rb:45\n        /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/arista4-32a/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_result_changed.rb:44\n        /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/arista4-32a/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_result_changed.rb:44\n        /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/arista4-32a/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_result_changed.rb:44\n        /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/arista4-32a/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_result_changed.rb:31\n        /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/arista4-32a/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet_result_changed.rb:5\n        /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/arista4-32a/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.49.0/bin/beaker:6\n        Begin teardown\n        End teardown{noformat}\n\nThis appears to be outstanding work from PCP-494", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31701", "fixedVersions": [], "id": "31701", "issueType": "Improvement", "key": "PCP-558", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-08-22T05:35:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Improve test failure handling for pxp-agent's UTF8 acceptance test", "timeSpent": "PT0S", "updated": "2016-08-22T05:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Seen again:\nhttps://jenkins.puppetlabs.com/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/20/SLAVE_LABEL=beaker,TEST_TARGET=ubuntu1604-64a/testReport/junit/(root)/setup_common/050_Setup_Broker_rb/", "created": "2016-08-23T03:40:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I have a theory that this is because we run {{lein tk}} with a different profile. Putting up a PR.", "created": "2016-08-25T12:33:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "This can be seen in action in CI now e.g. [here|https://jenkins.puppetlabs.com/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL=beaker,TEST_TARGET=redhat7-64a/27/consoleFull]\n\nWith the issue being transient", "created": "2016-08-31T08:24:00.000000"}], "components": ["pxp-agent package", "QA"], "created": "2016-08-18T04:46:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@791564c5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz8b7b:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Aug/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_321004895_*|*_1_*:*_1_*:*_633760604_*|*_10007_*:*_1_*:*_103692185_*|*_5_*:*_1_*:*_11595016622_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_77776316"}], "description": "https://jenkins.puppetlabs.com/view/puppet-agent%20suite%20pipelines/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/lastCompletedBuild/SLAVE_LABEL=beaker,TEST_TARGET=solaris10-64a/testReport/(root)/setup_common/050_Setup_Broker_rb/\n\n*Error Message*\n\npcp-broker port 8142 not open within 1 minutes of starting the broker\n\n*Stacktrace*\n\n{noformat}/var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/solaris10-64a/pxp-agent/acceptance/.bundle/gems/gems/minitest-5.9.0/lib/minitest/assertions.rb:139:in `assert'\\n/var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/solaris10-64a/pxp-agent/acceptance/lib/pxp-agent/test_helper.rb:75:in `run_pcp_broker'\\nsetup/common/050_Setup_Broker.rb:66:in `block (2 levels) in run_test'\\n/var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/solaris10-64a/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.49.0/lib/beaker/dsl/structure.rb:43:in `step'\\nsetup/common/050_Setup_Broker.rb:60:in `block in run_test'\\n/var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/solaris10-64a/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.49.0/lib/beaker/test_case.rb:133:in `eval'\\n/var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/solaris10-64a/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.49.0/lib/beaker/test_case.rb:133:in `block in run_test'\\n/usr/local/rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/benchmark.rb:294:in `realtime'\\n/var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/solaris10-64a/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.49.0/lib/beaker/test_case.rb:130:in `run_test'\\n/var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/solaris10-64a/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.49.0/lib/beaker/test_suite.rb:325:in `block in run'\\n/var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/solaris10-64a/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.49.0/lib/beaker/test_suite.rb:322:in `each'\\n/var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/solaris10-64a/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.49.0/lib/beaker/test_suite.rb:322:in `run'\\n/var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/solaris10-64a/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.49.0/lib/beaker/test_suite.rb:371:in `run_and_raise_on_failure'\\n/var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/solaris10-64a/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.49.0/lib/beaker/cli.rb:174:in `run_suite'\\n/var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/solaris10-64a/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.49.0/lib/beaker/cli.rb:96:in `execute!'\\n/var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/solaris10-64a/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.49.0/bin/beaker:6:in `<top (required)>'\\n/var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/solaris10-64a/pxp-agent/acceptance/.bundle/gems/bin/beaker:23:in `load'\\n/var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/SLAVE_LABEL/beaker/TEST_TARGET/solaris10-64a/pxp-agent/acceptance/.bundle/gems/bin/beaker:23:in `<main>'{noformat}\n\nThere doesn't appear to be anything unusual in the Jenkins console output - the test failed when it expected the broker to be listening within 1 minute of being launched with 'lein tk'\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31715", "fixedVersions": ["pxp-agent 1.2.2"], "id": "31715", "issueType": "Bug", "key": "PCP-557", "labels": ["pxp_puppet-agent_ci", "pxp-agent_ci"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-08-31T08:24:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pcp-broker failed to start in puppet-agent CI", "timeSpent": "PT0S", "updated": "2017-01-12T12:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Implemented. The work to enable it in pxp-agent will be another ticket.", "created": "2016-10-24T12:21:00.000000"}], "components": ["cpp-pcp-client"], "created": "2016-08-17T11:13:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "You can configure / enable PCP access logging for pxp-agent."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4d12d61b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz8aof:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Developer library, documented in CHANGELOG."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "24/Oct/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_53720_*|*_1_*:*_1_*:*_10564_*|*_10007_*:*_2_*:*_5286797656_*|*_3_*:*_1_*:*_592436911_*|*_5_*:*_1_*:*_343724722_*|*_6_*:*_1_*:*_0"}], "description": "Implement a Boost.Log sink and logger for logging PCP access, in a similar way as done for pcp-broker in PCP-385.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31964", "fixedVersions": ["cpp-pcp-client 1.3.0"], "id": "31964", "issueType": "Sub-task", "key": "PCP-556", "labels": ["maintenance"], "originalEstimate": "PT0S", "parent": "31581", "parentSummary": "Log pxp-agent accesses", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-10-24T12:21:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Implement access logger in cpp-pcp-client", "timeSpent": "PT0S", "updated": "2016-10-28T11:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pxp-agent package", "QA"], "created": "2016-08-16T09:41:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4dbce31c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz89qv:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}], "description": "There's a module for pcp-broker:\nhttps://forge.puppet.com/jstocks/pcp_broker\n\nIt will prepare leiningen, clone pcp-broker, set up the required config, then _lein tk_ it \n\nThis can replace much of [050_Setup_Broker.rb|https://github.com/puppetlabs/pxp-agent/blob/master/acceptance/setup/common/050_Setup_Broker.rb]", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32100", "fixedVersions": [], "id": "32100", "issueType": "Task", "key": "PCP-555", "labels": ["maintenance"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Use pcp-broker Puppet module in pxp-agent acceptance", "timeSpent": "PT0S", "updated": "2017-03-06T11:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "We considered it, and decided for a version 2 to drop all multicast support.", "created": "2016-12-09T15:21:00.000000"}], "components": [], "created": "2016-08-10T11:05:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "PCP multicast implications are well understood.\nTickets for relevant work have been created, if needed."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@30408e62"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-399"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3f3:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Dec/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_10473398477_*|*_6_*:*_1_*:*_0"}], "description": "PCP enables multicast by 1) allowing more than one target to be specified for a given PCP message and 2) letting single targets to be wildcarded (refer to the \"URI\" and \"Message Delivery\" sections of the [pcp-specifications|https://github.com/puppetlabs/pcp-specifications/tree/master/pcp/versions/1.0]). Multicast is a nice delivery function, but it complicates PCP semantics. We should evaluate its implications and ensure that the needed work for PCP v.2 is covered by Jira tickets.\n\nh4. Delivery\n\nIn case the broker needs to provide feedback about a message delivery problem, it is necessary to specify what particular target is involved with it. That is accomplished by setting the Envelope {{in_reply_to}} entry of the the broker's response. Such Envelope entry must be mandatory for all broker-originated messages: {{error_message}}, {{ttl_expired}}, and the v.2 {{unauthorized}} messages.  We already have PCP-290 for {{error_message}}; we need to cover the other broker-originated messages. Note that {{in_reply_to}} is currently implemented as {{in-reply-to}} for v.2 - see PCP-312.\n\nh4. Delivery guarantees\n\nIn case we decide to implement an ACK-based mechanism for delivery guarantees at PCP layer, dealing with multicast would be challenging for the broker (on the multiplexed leg).\n\nh4. Version negotiation\n\nIf we decide to add version translation capability to the broker, multicast should be taken into account.", "epicLinkSummary": "PCP Version 2 Protocol", "estimate": "PT0S", "externalId": "31963", "fixedVersions": [], "id": "31963", "issueType": "Task", "key": "PCP-552", "labels": [], "originalEstimate": "PT0S", "parent": "31882", "parentSummary": "PCP Version 2 Protocol", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Done", "resolutionDate": "2016-12-09T15:21:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Consider re-designing multicast delivery", "timeSpent": "PT0S", "updated": "2016-12-09T15:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "BKR-913 blocks us from doing this neatly - Beaker doesn't give us a way to get the bin dir's for the host", "created": "2016-08-10T10:17:00.000000"}, {"author": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "body": "There are historical reasons Beaker has done what its done... and why we try not to monkey with too many paths.\n\nFWIW, the latest agent MSI does have 2 copies of {{libstdc++}} dlls:\n\n{code}\nC:\\Users\\vagrant>dir \\libstd*.dll /s\n Volume in drive C is Windows 2012 R2\n Volume Serial Number is F622-15CF\n\n Directory of C:\\Program Files\\Puppet Labs\\Puppet\\facter\\lib\n\n09/10/2015  08:09 PM         1,426,944 libstdc++-6.dll\n               1 File(s)      1,426,944 bytes\n\n Directory of C:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\n\n09/10/2015  08:09 PM         1,426,944 libstdc++-6.dll\n               1 File(s)      1,426,944 bytes\n\n     Total Files Listed:\n               2 File(s)      2,853,888 bytes\n               0 Dir(s)  30,855,553,024 bytes free\n{code}\n\nSo I'm wondering if carrying an additional copy is really that bad?  Is that the only DLL causing problems?\n\n/cc [~accountid:557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20]", "created": "2016-10-17T18:45:00.000000"}], "components": ["pxp-agent package", "QA"], "created": "2016-08-10T10:10:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1640f517"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3dr:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "18/Oct/16"}], "description": "[pxp_agent_version.rb|https://github.com/puppetlabs/pxp-agent/blob/master/acceptance/tests/pxp_agent_version.rb#L11-L12] needs to set the modify the PATH on Windows so that all required libs are on path when the test attempts to \n\nPCP-533 was a ticket that required the test to be fixed in order to support changes to the Windows msi\n\nTo avoid needing to fix the path again, the test should use ENVIRONMENT.bat to prep the Windows environment with Puppet paths before running pxp-agent as an exe", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32200", "fixedVersions": [], "id": "32200", "issueType": "Task", "key": "PCP-551", "labels": ["maintenance"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Improve pxp_agent_version.rb test for Windows", "timeSpent": "PT0S", "updated": "2017-03-06T12:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Done with move to lein parent.", "created": "2017-03-01T14:46:00.000000"}], "components": ["pcp-broker"], "created": "2016-08-10T05:53:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2ee7e436"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3fb:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "01/Mar/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_617240391_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_16957543300"}], "description": "Bump dependency.\nConsider using the new features (filtering; improved configuration granularity for services under the same JVM) and create related tickets.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32099", "fixedVersions": [], "id": "32099", "issueType": "Improvement", "key": "PCP-550", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Minor", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Done", "resolutionDate": "2017-03-01T14:46:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Update pcp-broker's dependency to trapperkeeper-metrics 0.2.0", "timeSpent": "PT0S", "updated": "2017-03-01T14:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "qa: please update/add testcases on the test(s) in this PR", "created": "2016-08-23T16:06:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This was not actually released in 1.2.2.", "created": "2016-10-24T11:53:00.000000"}], "components": ["pxp-agent"], "created": "2016-08-09T14:28:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Attempting to run Puppet via pxp-module-puppet when Puppet is already running via another mechanism should succeed after waiting for the first Puppet run to complete."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@138c97b4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Highest Test Level", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Acceptance"}, {"fieldName": "QA Highest Test Level Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "see PR"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyn04v:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "pxp-module-puppet runs triggered via PXP will now wait for running Puppet agent jobs to complete and start the requested run, rather than immediately returning that Puppet is already running."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "23/Aug/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_5903526_*|*_1_*:*_1_*:*_57043691_*|*_10007_*:*_2_*:*_427544478_*|*_3_*:*_2_*:*_76910248_*|*_5_*:*_2_*:*_5338828346_*|*_6_*:*_2_*:*_348118732_*|*_10011_*:*_1_*:*_5826926_*|*_10006_*:*_1_*:*_642279774"}], "description": "If Puppet is already running on a node when a pxp-module-puppet run action is triggered on that node, Puppet will fail - saying Puppet was already running (lock file) - and the action will return failure.\n\nThe contract of pxp-module-puppet is in-specific, but it seems reasonable to make a best-effort attempt to run Puppet by waiting for the previous Puppet run to complete and then running Puppet. This introduces a potentially long delay between receiving the action and returning a \"action started\" status, but is the most reliable way to attempt to ensure a Puppet run is performed. Retrying by having the controller send another request potentially can take longer.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31909", "fixedVersions": ["pxp-agent 1.3.0"], "id": "31909", "issueType": "Improvement", "key": "PCP-549", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-08-23T16:06:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-module-puppet run fails if puppet already running", "timeSpent": "PT0S", "updated": "2017-03-22T09:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [{"attacher": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "created": "2016-08-08T07:12:00.000000", "name": "Screen Shot 2016-08-08 at 14.11.36.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12308"}], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "The puppet-agent#stable pipeline is building MSIs using Vanagon, but the stable branch doesn't include all the necessary changes. Specifically https://github.com/puppetlabs/puppet-agent/blob/stable/resources/windows/wix/service.pxp-agent.wxs.erb#L37 is wrong and will cause pxp-agent to fail to start with nssm. It's been fixed on master.", "created": "2016-08-08T09:59:00.000000"}], "components": ["pxp-agent package"], "created": "2016-08-08T07:19:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform pxp-agent"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5f6c9708"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyn03j:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "0.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Aug/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_171299240_*|*_3_*:*_1_*:*_107303045_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_11809"}], "description": "Most tests are currently failing for Windows 2012 on stable:\nhttps://jenkins.puppetlabs.com/job/platform_pxp-agent_intn-van-sys_stable/103/\n\nIf I preserve the hosts after these tests; I see that the pxp-agent service is in a \"Paused\" state (i.e. nssm detected a fault when attempting to start the service).\n\nIf I attempt to start the service, the following appears as an Error in Event Viewer:\n{noformat}Faulting application name: pxp-agent.exe, version: 0.0.0.0, time stamp: 0x57a85f79\nFaulting module name: leatherman_execution.dll, version: 6.3.9600.18185, time stamp: 0x5683f0c5\nException code: 0xc0000135\nFault offset: 0x00000000000ec580\nFaulting process id: 0xb4c\nFaulting application start time: 0x01d1f1749ab51be6\nFaulting application path: C:\\Program Files\\Puppet Labs\\Puppet\\pxp-agent\\bin\\pxp-agent.exe\nFaulting module path: leatherman_execution.dll\nReport Id: d861a869-5d67-11e6-80e3-0050568fcf37\nFaulting package full name: \nFaulting package-relative application ID:{noformat}\n\nIf I run pxp-agent as an executable in a \"Command Prompt with Puppet\" terminal; it appears to work (pxp-agent.log indicates that pxp-agent has started and has associated with pcp-broker)", "environment": "SUITE_VERSION 1.5.2.242.g598fefa\nSUITE_COMMIT 598fefab67538055b913c1bca44cd598d4d6ec6e\nTEST_TARGET windows2012r2-64a", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32199", "fixedVersions": [], "id": "32199", "issueType": "CI Blocker", "key": "PCP-548", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-08-11T12:43:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent service is not working on Windows", "timeSpent": "PT0S", "updated": "2016-08-11T12:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [], "components": ["cpp-pcp-client", "pxp-agent"], "created": "2016-08-08T05:57:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "You can read changelog info about the last releases in CHANGELOG.md of both projects."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@fa725e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz81lb:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_5794_*|*_10007_*:*_1_*:*_11182545_*|*_3_*:*_1_*:*_29997381_*|*_5_*:*_1_*:*_235961836_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_7304"}], "description": "Update changelog.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32064", "fixedVersions": ["cpp-pcp-client 1.2.0", "pxp-agent 1.2.0"], "id": "32064", "issueType": "Improvement", "key": "PCP-547", "labels": ["packaging"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Minor", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-08-08T17:23:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Update cpp-pcp-client and pxp-agent changelog file", "timeSpent": "PT0S", "updated": "2016-08-17T17:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Being planned as part of PCP-505.", "created": "2016-12-09T15:24:00.000000"}], "components": ["clj-pcp-client", "pcp-broker"], "created": "2016-08-05T13:18:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@26d4fb4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-399"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz80yn:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_163312_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_10897428260"}], "description": "Provide a method for a PCP client to be notified when a new node connects to a broker. This would require new functionality in PCP to send streaming inventory updates to a client that subscribes to them.\n\nThese might be optionally batched to reduce messaging overhead.", "epicLinkSummary": "PCP Version 2 Protocol", "estimate": "PT0S", "externalId": "31767", "fixedVersions": [], "id": "31767", "issueType": "New Feature", "key": "PCP-546", "labels": [], "originalEstimate": "PT0S", "parent": "31882", "parentSummary": "PCP Version 2 Protocol", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Duplicate", "resolutionDate": "2016-12-09T15:24:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Provide a method to subscribe to new agent connections to a broker", "timeSpent": "PT0S", "updated": "2016-12-09T15:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Still failing on the same platforms (sles-10, sles-11, etc). I'm not sure why yet.", "created": "2016-08-12T12:17:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Tests passed in CI for puppet-agent stable 1.6.0.51.gad760e5 and master 1.6.0.86.gd0803ce", "created": "2016-08-22T07:10:00.000000"}], "components": ["pxp-agent"], "created": "2016-08-05T11:02:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform puppet-agent suite"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7ba3e531"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Highest Test Level", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Acceptance"}, {"fieldName": "QA Highest Test Level Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Existing pxp-agent acceptance test for UTF8 would catch this"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Medium"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "High"}, {"fieldName": "QA Risk Severity Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "pxp-module-puppet unusable on some platforms"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz80rr:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "On platforms where the pxp-agent service uses a POSIX or C locale by default, non-ASCII characters would cause a failure status to be reported for Puppet runs triggered via PXP (Orchestrator or Console Run Puppet). This has been fixed."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/Aug/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_5473581_*|*_1_*:*_1_*:*_23771_*|*_10007_*:*_2_*:*_1046237521_*|*_3_*:*_1_*:*_860122_*|*_10009_*:*_1_*:*_103027448_*|*_5_*:*_1_*:*_77182158_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_2_*:*_400635140_*|*_10006_*:*_1_*:*_1488474"}], "description": "When pxp-agent runs in a locale set to C or POSIX (as is the default on SLES 10/11 when run as an init service), it still errors as reported in PCP-494.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31764", "fixedVersions": ["pxp-agent 1.2.1"], "id": "31764", "issueType": "CI Blocker", "key": "PCP-545", "labels": ["pxp_puppet-agent_ci"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-08-23T11:45:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-module-puppet fails if there are non-ASCII in Puppet's stdout and locale is set to C/POSIX", "timeSpent": "PT0S", "updated": "2016-10-06T10:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["clj-pcp-client", "clj-pxp-puppet"], "created": "2016-08-05T10:25:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Testing should not fail intermittently due to exceptions."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@59675214"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyn04f:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_539107_*|*_1_*:*_1_*:*_16900771_*|*_10007_*:*_2_*:*_387545634_*|*_3_*:*_1_*:*_680195_*|*_10009_*:*_1_*:*_1036818670_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_2_*:*_117520917"}], "description": "In mostly testing, we sometimes see failures like\n{code}\nactual: java.util.concurrent.ExecutionException: java.nio.channels.ClosedChannelException\n at java.util.concurrent.FutureTask.report (FutureTask.java:122)\n    java.util.concurrent.FutureTask.get (FutureTask.java:206)\n    clojure.core$deref_future.invoke (core.clj:2182)\n    clojure.core$future_call$reify__6320.deref (core.clj:6424)\n    clojure.core$deref.invoke (core.clj:2204)\n    puppetlabs.pcp.client$eval6567$_wait_for_connection__6572$fn__6573.invoke (client.clj:245)\n    puppetlabs.pcp.client$eval6567$_wait_for_connection__6572.invoke (client.clj:241)\n    puppetlabs.pcp.client.Client.wait_for_connection (client.clj:85)\n    puppetlabs.pcp.messaging_test$fn__33875$fn__33878$fn__33879$fn__33882$fn__33883$fn__33886.invoke (messaging_test.clj:120)\n{code}\nThis should be an expected error while waiting for connection - you might get an exception attempting to establish a connection, and this should be treated as failure to connect. It should be clear what to do when these exceptions occur.\n\nWe should move to catching execution exceptions when dereferencing the websocket-connection. It seems like we have a few cases:\n- `connected?` and `wait-for-connection` can catch the exceptions and return appropriately (connected? should return false if an exception occured, and wait-for-connection should return with nil signifying no connection was established)\n- `send!` should probably still throw an exception, but might want to catch and wrap it as a not-connected failure\n- `close` should probably catch and swallow (log) failure, as it's not supposed to attempt to close the websocket-connection if not connected\n\nI don't think associate-response has a similar issue, because we start with none and just `deliver success`.\n\n{code}\n2016-08-05 08:03:29,042 ERROR [p.p.client] Unexpected error\norg.eclipse.jetty.io.EofException: null\n\tat org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:192) ~[jetty-io-9.2.10.v20150310.jar:9.2.10.v20150310]\n\tat org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.flush(SslConnection.java:793) ~[jetty-io-9.2.10.v20150310.jar:9.2.10.v20150310]\n\tat org.eclipse.jetty.io.WriteFlusher.flush(WriteFlusher.java:408) ~[jetty-io-9.2.10.v20150310.jar:9.2.10.v20150310]\n\tat org.eclipse.jetty.io.WriteFlusher.completeWrite(WriteFlusher.java:364) ~[jetty-io-9.2.10.v20150310.jar:9.2.10.v20150310]\n\tat org.eclipse.jetty.io.ssl.SslConnection$1.run(SslConnection.java:97) ~[jetty-io-9.2.10.v20150310.jar:9.2.10.v20150310]\n\tat org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) ~[jetty-util-9.2.10.v20150310.jar:9.2.10.v20150310]\n\tat org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) ~[jetty-util-9.2.10.v20150310.jar:9.2.10.v20150310]\n\tat java.lang.Thread.run(Thread.java:745) [na:1.7.0_79]\nCaused by: java.io.IOException: Broken pipe\n\tat sun.nio.ch.FileDispatcherImpl.write0(Native Method) ~[na:1.7.0_79]\n\tat sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47) ~[na:1.7.0_79]\n\tat sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93) ~[na:1.7.0_79]\n\tat sun.nio.ch.IOUtil.write(IOUtil.java:65) ~[na:1.7.0_79]\n\tat sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:488) ~[na:1.7.0_79]\n\tat org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:170) ~[jetty-io-9.2.10.v20150310.jar:9.2.10.v20150310]\n\t... 7 common frames omitted\n{code}\nalso occurs sometimes in testing. This appears to be somewhat normal behavior when a connection closes while trying to perform an operation on it (like sendBytes).", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32036", "fixedVersions": ["clj-pcp-client 0.3.3", "clj-pxp-puppet 0.2.1"], "id": "32036", "issueType": "Bug", "key": "PCP-544", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-08-23T11:46:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "clj-pcp-client functions throw unexpected exceptions that should be expected", "timeSpent": "PT0S", "updated": "2016-08-23T11:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "A change was merged, but I think we should still refine the message a bit.", "created": "2016-08-05T14:18:00.000000"}], "components": ["cpp-pcp-client"], "created": "2016-08-05T10:08:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "SSL verification failure report mentions all possible reasons verification could fail."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5571471c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz360f:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The warning reported when SSL verification fails was previously overly specific. In addition to reporting that the common name may not match the server name, it also reports that the failure may be caused by the certificate being signed by an unknown certificate authority."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_21297_*|*_1_*:*_1_*:*_72482_*|*_10007_*:*_1_*:*_262521842_*|*_10009_*:*_1_*:*_373112_*|*_5_*:*_1_*:*_82280765_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_176042114"}], "description": "The warning printed when SSL verification fails, the error message mentions that the subject name didn't match. There are other reasons verification can also fail however - namely a CA mismatch - that should be reported as possible reasons as well.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32168", "fixedVersions": ["cpp-pcp-client 1.2.0"], "id": "32168", "issueType": "Bug", "key": "PCP-543", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-08-10T12:05:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "cpp-pcp-client report when ssl verification fails is overly specific", "timeSpent": "PT0S", "updated": "2016-08-11T10:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Addressed by the refactor in pcp-broker 1.0.0.", "created": "2017-01-06T13:16:00.000000"}], "components": ["pcp-broker"], "created": "2016-08-04T13:41:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@554d90d2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-435"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz7zv3:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "04/Aug/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_74192833_*|*_5_*:*_1_*:*_1202357129_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_13319904819"}], "description": "Testing conducted via https://github.com/james-stocks/pxp-agent/blob/fire_and_forget/acceptance/tests/send_undeliverable_messages.rb.\n\nWhen messages are delivered over an extended period, with the client frequently connecting and disconnecting, we see occasional messages about\n{code}\n2016-08-04 06:56:11,039 INFO  [qtp773892839-21] [o.s.j.c.CachingConnectionFactory] Established shared JMS Connection: ActiveMQConnection {id=ID:avs2m7wxujv5hro-51257-1470317380794-659:1,clientId=null,started=false}\n2016-08-04 06:56:11,041 TRACE [DefaultMessageListenerContainer-1] [p.p.b.activemq] Consuming message b38cd34d-dca3-42b8-be8c-d2ba0d7a0dd2 for [\"pcp://test-development/ruby-pcp-client-12097\"] from accept\n2016-08-04 06:56:11,042 TRACE [DefaultMessageListenerContainer-1] [p.p.b.activemq] Delivering message b38cd34d-dca3-42b8-be8c-d2ba0d7a0dd2 for pcp://test-development/ruby-pcp-client-12097 to delivery queue\n2016-08-04 06:56:11,042 INFO  [DefaultMessageListenerContainer-1] [o.s.j.c.CachingConnectionFactory] Established shared JMS Connection: ActiveMQConnection {id=ID:avs2m7wxujv5hro-51257-1470317380794-661:1,clientId=null,started=false}\n2016-08-04 06:56:11,045 ERROR [DefaultMessageListenerContainer-1] [p.p.b.core] Error in deliver-message\njava.lang.NullPointerException: null\n        at puppetlabs.trapperkeeper.services.webserver.experimental.jetty9_websockets$eval30229$fn__30230.invoke(jetty9_websockets.clj:31) ~[na:na]\n        at puppetlabs.trapperkeeper.services.webserver.experimental.jetty9_websockets$eval30206$fn__30207$G__30197__30214.invoke(jetty9_websockets.clj:21) ~[na:na]\n        at puppetlabs.trapperkeeper.services.webserver.experimental.jetty9_websockets$eval30233$fn__30234.invoke(jetty9_websockets.clj:27) ~[na:na]\n        at puppetlabs.trapperkeeper.services.webserver.experimental.jetty9_websockets$eval30206$fn__30207$G__30197__30214.invoke(jetty9_websockets.clj:21) ~[na:na]\n        at puppetlabs.trapperkeeper.services.webserver.experimental.jetty9_websockets$eval30237$fn__30250.invoke(jetty9_websockets.clj:40) ~[na:na]\n        at puppetlabs.experimental.websockets.client$eval15968$fn__15980$G__15955__15987.invoke(client.clj:3) ~[na:na]\n{code}\n\nThis appears to happen due to the pattern\n{code}\n2016-08-04 06:56:11,033 DEBUG [DefaultMessageListenerContainer-1] [p.p.b.core] Delivering c456644e-9e61-4d07-ab76-ab15abb91117 for pcp://test-development/ruby-pcp-client-12097 to test-development at /10.32.162.203:50036\n2016-08-04 06:56:11,034 DEBUG [qtp773892839-17] [p.p.b.core] client test-development disconnected from /10.32.162.203:50036 1000 \n...\n2016-08-04 06:56:11,045 ERROR [DefaultMessageListenerContainer-1] [p.p.b.core] Error in deliver-message\n...\n2016-08-04 06:56:11,046 TRACE [DefaultMessageListenerContainer-1] [p.p.b.core] Failed to deliver c456644e-9e61-4d07-ab76-ab15abb91117 for pcp://test-development/ruby-pcp-client-12097: java.lang.NullPointerException\n{code}\n\nFull log at https://gist.github.com/james-stocks/e7c850fab49074c66bd201ddc9ac59ce.\n\nI believe this is normal behavior: in that occasionally the broker will attempt to deliver a message to a client just as it disconnects, and fail. The broker takes the correct action - reschedule the message for delivery later - but the ERROR report makes it appear to be abnormal.", "epicLinkSummary": "PCP Broker Reliability", "estimate": "PT0S", "externalId": "31874", "fixedVersions": ["pcp-broker 1.0.0"], "id": "31874", "issueType": "Bug", "key": "PCP-541", "labels": [], "originalEstimate": "PT0S", "parent": "31934", "parentSummary": "PCP Broker Reliability", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-01-06T13:16:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pcp-broker will occasionally report ERROR trying to deliver messages to ephemeral clients", "timeSpent": "PT0S", "updated": "2017-01-20T11:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Fixed with PCP-544.", "created": "2016-08-17T09:18:00.000000"}], "components": ["clj-pcp-client"], "created": "2016-08-04T10:15:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@109d3555"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz7zdj:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1119766569_*|*_5_*:*_1_*:*_13914_*|*_6_*:*_2_*:*_33482"}], "description": "Occasionally {{connect-to-a-down-up-down-up-broker-test}} and {{connect-to-a-down-broker-test}} fail with an exception triggered from {{client/connected?}} when it dereferences the websocket-connection. The exception is triggered by a broken pipe, presumably while trying to connect to the broker. This might be happening because the client tries to connect while the broker is starting up. What we're missing to verify that is some client logging that would show an error message being returned.\n\nFailure at https://jenkins.puppetlabs.com/job/platform_clj-pcp-client_unit-clj_master/29/JDK=openjdk7,label=unit/console\n{code}\n08:49:06 2016-08-04 08:49:06,442 INFO  [p.p.b.service] Shutting down broker service\n08:49:07 2016-08-04 08:49:07,931 INFO  [p.p.b.service] Initializing broker service\n08:49:08 2016-08-04 08:49:08,027 INFO  [p.p.b.service] Starting broker service\n08:49:08 2016-08-04 08:49:08,670 WARN  [o.a.a.b.BrokerService] Store limit is 100000 mb, whilst the data directory: /var/lib/jenkins/workspace/platform_clj-pcp-client_unit-clj_master/JDK/openjdk7/label/unit/test-resources/tmp/spool/pcp/KahaDB only has 38530 mb of usable space\n08:49:08 2016-08-04 08:49:08,670 ERROR [o.a.a.b.BrokerService] Temporary Store limit is 50000 mb, whilst the temporary data directory: /var/lib/jenkins/workspace/platform_clj-pcp-client_unit-clj_master/JDK/openjdk7/label/unit/test-resources/tmp/spool/pcp/tmp_storage only has 38530 mb of usable space\n08:49:09 2016-08-04 08:49:09,312 INFO  [p.p.b.service] Shutting down broker service\n08:49:11 2016-08-04 08:49:11,552 INFO  [p.p.b.service] Initializing broker service\n08:49:11 2016-08-04 08:49:11,675 INFO  [p.p.b.service] Starting broker service\n08:49:12 2016-08-04 08:49:12,299 WARN  [o.a.a.b.BrokerService] Store limit is 100000 mb, whilst the data directory: /var/lib/jenkins/workspace/platform_clj-pcp-client_unit-clj_master/JDK/openjdk7/label/unit/test-resources/tmp/spool/pcp/KahaDB only has 38530 mb of usable space\n08:49:12 2016-08-04 08:49:12,299 ERROR [o.a.a.b.BrokerService] Temporary Store limit is 50000 mb, whilst the temporary data directory: /var/lib/jenkins/workspace/platform_clj-pcp-client_unit-clj_master/JDK/openjdk7/label/unit/test-resources/tmp/spool/pcp/tmp_storage only has 38530 mb of usable space\n08:49:12 2016-08-04 08:49:12,851 INFO  [p.p.b.service] Shutting down broker service\n08:49:14 2016-08-04 08:49:14,879 INFO  [p.p.b.service] Initializing broker service\n08:49:14 2016-08-04 08:49:14,988 INFO  [p.p.b.service] Starting broker service\n08:49:15 2016-08-04 08:49:15,658 WARN  [o.a.a.b.BrokerService] Store limit is 100000 mb, whilst the data directory: /var/lib/jenkins/workspace/platform_clj-pcp-client_unit-clj_master/JDK/openjdk7/label/unit/test-resources/tmp/spool/pcp/KahaDB only has 38530 mb of usable space\n08:49:15 2016-08-04 08:49:15,659 ERROR [o.a.a.b.BrokerService] Temporary Store limit is 50000 mb, whilst the temporary data directory: /var/lib/jenkins/workspace/platform_clj-pcp-client_unit-clj_master/JDK/openjdk7/label/unit/test-resources/tmp/spool/pcp/tmp_storage only has 38530 mb of usable space\n08:49:16 \n08:49:16 lein test :only puppetlabs.pcp.messaging-test/connect-to-a-down-up-down-up-broker-test\n08:49:16 \n08:49:16 FAIL in (connect-to-a-down-up-down-up-broker-test) (messaging_test.clj:152)\n08:49:16 Should now be connected\n08:49:16 expected: (client/connected? client)\n08:49:16   actual: (not (client/connected? #puppetlabs.pcp.client.Client{:server \"wss://localhost:8143/pcp/\", :identity \"pcp://client01.example.com/demo-client\", :handlers {\"http://puppetlabs.com/associate_response\" #<client$eval6346$associate_response_handler__6351 puppetlabs.pcp.client$eval6346$associate_response_handler__6351@396e4c66>, \"example/any_schema\" #<core$constantly$fn__4085 clojure.core$constantly$fn__4085@52f6f06c>, :default #<messaging_test$default_request_handler puppetlabs.pcp.messaging_test$default_request_handler@522286c7>}, :should-stop #<core$promise$reify__6363@1e5a4259: :pending>, :websocket-connection #<Atom@37b9f0a0: #<core$future_call$reify__6320@56c3e32e: :pending>>, :websocket-client #<WebSocketClient org.eclipse.jetty.websocket.client.WebSocketClient@7017d31b>, :associate-response #<Atom@56780d82: #<core$promise$reify__6363@63befe27: :pending>>, :user-data nil}))\n08:49:16 2016-08-04 08:49:16,235 INFO  [p.p.b.service] Shutting down broker service\n08:49:19 2016-08-04 08:49:19,148 ERROR [p.p.client] Unexpected error\n08:49:19 org.eclipse.jetty.io.EofException: null\n08:49:19 \tat org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:192) ~[jetty-io-9.2.10.v20150310.jar:9.2.10.v20150310]\n08:49:19 \tat org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.flush(SslConnection.java:793) ~[jetty-io-9.2.10.v20150310.jar:9.2.10.v20150310]\n08:49:19 \tat org.eclipse.jetty.io.WriteFlusher.flush(WriteFlusher.java:408) ~[jetty-io-9.2.10.v20150310.jar:9.2.10.v20150310]\n08:49:19 \tat org.eclipse.jetty.io.WriteFlusher.completeWrite(WriteFlusher.java:364) ~[jetty-io-9.2.10.v20150310.jar:9.2.10.v20150310]\n08:49:19 \tat org.eclipse.jetty.io.ssl.SslConnection$1.run(SslConnection.java:97) ~[jetty-io-9.2.10.v20150310.jar:9.2.10.v20150310]\n08:49:19 \tat org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) ~[jetty-util-9.2.10.v20150310.jar:9.2.10.v20150310]\n08:49:19 \tat org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) ~[jetty-util-9.2.10.v20150310.jar:9.2.10.v20150310]\n08:49:19 \tat java.lang.Thread.run(Thread.java:745) [na:1.7.0_95]\n08:49:19 Caused by: java.io.IOException: Broken pipe\n08:49:19 \tat sun.nio.ch.FileDispatcherImpl.write0(Native Method) ~[na:1.7.0_95]\n08:49:19 \tat sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47) ~[na:1.7.0_95]\n08:49:19 \tat sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93) ~[na:1.7.0_95]\n08:49:19 \tat sun.nio.ch.IOUtil.write(IOUtil.java:65) ~[na:1.7.0_95]\n08:49:19 \tat sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:492) ~[na:1.7.0_95]\n08:49:19 \tat org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:170) ~[jetty-io-9.2.10.v20150310.jar:9.2.10.v20150310]\n08:49:19 \t... 7 common frames omitted\n08:49:19 2016-08-04 08:49:19,207 INFO  [p.p.b.service] Initializing broker service\n08:49:19 2016-08-04 08:49:19,296 INFO  [p.p.b.service] Starting broker service\n08:49:20 2016-08-04 08:49:20,150 WARN  [o.a.a.b.BrokerService] Store limit is 100000 mb, whilst the data directory: /var/lib/jenkins/workspace/platform_clj-pcp-client_unit-clj_master/JDK/openjdk7/label/unit/test-resources/tmp/spool/pcp/KahaDB only has 38530 mb of usable space\n08:49:20 2016-08-04 08:49:20,150 ERROR [o.a.a.b.BrokerService] Temporary Store limit is 50000 mb, whilst the temporary data directory: /var/lib/jenkins/workspace/platform_clj-pcp-client_unit-clj_master/JDK/openjdk7/label/unit/test-resources/tmp/spool/pcp/tmp_storage only has 38530 mb of usable space\n08:49:20 2016-08-04 08:49:20,900 INFO  [p.p.b.service] Shutting down broker service\n08:49:24 \n08:49:24 lein test :only puppetlabs.pcp.messaging-test/connect-to-a-down-up-down-up-broker-test\n08:49:24 \n08:49:24 ERROR in (connect-to-a-down-up-down-up-broker-test) (FutureTask.java:122)\n08:49:24 Uncaught exception, not in assertion.\n08:49:24 expected: nil\n08:49:24 2016-08-04 08:49:24,681 INFO  [p.p.b.service] Initializing broker service\n08:49:24 2016-08-04 08:49:24,794 INFO  [p.p.b.service] Starting broker service\n08:49:25 2016-08-04 08:49:25,509 WARN  [o.a.a.b.BrokerService] Store limit is 100000 mb, whilst the data directory: /var/lib/jenkins/workspace/platform_clj-pcp-client_unit-clj_master/JDK/openjdk7/label/unit/test-resources/tmp/spool/pcp/KahaDB only has 38530 mb of usable space\n08:49:25 2016-08-04 08:49:25,509 ERROR [o.a.a.b.BrokerService] Temporary Store limit is 50000 mb, whilst the temporary data directory: /var/lib/jenkins/workspace/platform_clj-pcp-client_unit-clj_master/JDK/openjdk7/label/unit/test-resources/tmp/spool/pcp/tmp_storage only has 38530 mb of usable space\n08:49:25 2016-08-04 08:49:25,625 DEBUG [o.e.j.u.c.AbstractLifeCycle] STARTED @93972ms org.eclipse.jetty.io.SelectorManager$ManagedSelector@723b59c6 keys=0 selected=0\n08:49:25 2016-08-04 08:49:25,625 DEBUG [o.e.j.u.c.AbstractLifeCycle] starting org.eclipse.jetty.io.SelectorManager$ManagedSelector@731206ba keys=-1 selected=-1\n08:49:25 2016-08-04 08:49:25,626 DEBUG [o.e.j.i.SelectorManager] Starting Thread[WebSocketClient@507842001-422-selector-WebSocketClientSelectorManager@2477d85b/0,5,main] on org.eclipse.jetty.io.SelectorManager$ManagedSelector@723b59c6 keys=0 selected=0\n08:49:25 2016-08-04 08:49:25,626 DEBUG [o.e.j.u.c.AbstractLifeCycle] STARTED @93978ms org.eclipse.jetty.io.SelectorManager$ManagedSelector@731206ba keys=0 selected=0\n08:49:25 2016-08-04 08:49:25,626 DEBUG [o.e.j.i.SelectorManager] Selector loop waiting on select\n08:49:25 2016-08-04 08:49:25,626 DEBUG [o.e.j.u.c.AbstractLifeCycle] STARTED @93979ms org.eclipse.jetty.websocket.client.io.WebSocketClientSelectorManager@2477d85b\n08:49:25 2016-08-04 08:49:25,626 DEBUG [o.e.j.i.SelectorManager] Starting Thread[WebSocketClient@507842001-423-selector-WebSocketClientSelectorManager@2477d85b/1,5,main] on org.eclipse.jetty.io.SelectorManager$ManagedSelector@731206ba keys=0 selected=0\n08:49:25 2016-08-04 08:49:25,626 DEBUG [o.e.j.u.c.AbstractLifeCycle] STARTED @93979ms org.eclipse.jetty.websocket.client.io.ConnectionManager@cb54fdf\n08:49:25 2016-08-04 08:49:25,626 DEBUG [o.e.j.i.SelectorManager] Selector loop waiting on select\n08:49:25 2016-08-04 08:49:25,627 DEBUG [o.e.j.w.c.WebSocketClient] Connect Promise: FutureCallback@538ebffd{false,false,null}\n08:49:25 2016-08-04 08:49:25,628 DEBUG [o.e.j.i.SelectorManager] Queued change org.eclipse.jetty.io.SelectorManager$ManagedSelector$Accept@19fcb05f\n08:49:25 2016-08-04 08:49:25,628 DEBUG [o.e.j.i.SelectorManager] Running change org.eclipse.jetty.io.SelectorManager$ManagedSelector$Accept@19fcb05f\n08:49:25 2016-08-04 08:49:25,628 DEBUG [o.e.j.i.SelectorManager] Queued change org.eclipse.jetty.io.SelectorManager$ManagedSelector$Connect@19aca3e9\n08:49:27 2016-08-04 08:49:27,105 INFO  [p.p.b.service] Shutting down broker service\n08:49:28 2016-08-04 08:49:28,095 INFO  [p.p.b.service] Initializing broker service\n08:49:28 2016-08-04 08:49:28,166 INFO  [p.p.b.service] Starting broker service\n08:49:28 2016-08-04 08:49:28,830 WARN  [o.a.a.b.BrokerService] Store limit is 100000 mb, whilst the data directory: /var/lib/jenkins/workspace/platform_clj-pcp-client_unit-clj_master/JDK/openjdk7/label/unit/test-resources/tmp/spool/pcp/KahaDB only has 38530 mb of usable space\n08:49:28 2016-08-04 08:49:28,830 ERROR [o.a.a.b.BrokerService] Temporary Store limit is 50000 mb, whilst the temporary data directory: /var/lib/jenkins/workspace/platform_clj-pcp-client_unit-clj_master/JDK/openjdk7/label/unit/test-resources/tmp/spool/pcp/tmp_storage only has 38530 mb of usable space\n08:49:29 2016-08-04 08:49:29,507 INFO  [p.p.b.service] Shutting down broker service\n08:49:31   actual: java.util.concurrent.ExecutionException: org.eclipse.jetty.io.EofException\n08:49:31  at java.util.concurrent.FutureTask.report (FutureTask.java:122)\n08:49:31     java.util.concurrent.FutureTask.get (FutureTask.java:188)\n08:49:31     clojure.core$deref_future.invoke (core.clj:2180)\n08:49:31     clojure.core$future_call$reify__6320.deref (core.clj:6420)\n08:49:31     clojure.core$deref.invoke (core.clj:2200)\n08:49:31     puppetlabs.pcp.client$eval6247$_connected_QMARK___6252$fn__6253.invoke (client.clj:98)\n08:49:31     puppetlabs.pcp.client$eval6247$_connected_QMARK___6252.invoke (client.clj:95)\n08:49:31     puppetlabs.pcp.client$eval6639$_close__6644$fn__6645.invoke (client.clj:269)\n08:49:31     puppetlabs.pcp.client$eval6639$_close__6644.invoke (client.clj:259)\n08:49:31     puppetlabs.pcp.client.Client.close (client.clj:87)\n08:49:31     sun.reflect.NativeMethodAccessorImpl.invoke0 (NativeMethodAccessorImpl.java:-2)\n08:49:31     sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:57)\n08:49:31     sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)\n08:49:31     java.lang.reflect.Method.invoke (Method.java:606)\n08:49:31     clojure.lang.Reflector.invokeMatchingMethod (Reflector.java:93)\n08:49:31     clojure.lang.Reflector.invokeNoArgInstanceMember (Reflector.java:313)\n08:49:31     puppetlabs.pcp.messaging_test/fn (messaging_test.clj:148)\n08:49:31     clojure.test$test_var$fn__7187.invoke (test.clj:704)\n08:49:31     clojure.test$test_var.invoke (test.clj:704)\n08:49:31     clojure.test$test_vars$fn__7209$fn__7214.invoke (test.clj:722)\n08:49:31     clojure.test$default_fixture.invoke (test.clj:674)\n08:49:31     clojure.test$test_vars$fn__7209.invoke (test.clj:722)\n08:49:31     clojure.test$default_fixture.invoke (test.clj:674)\n08:49:31     clojure.test$test_vars.invoke (test.clj:718)\n08:49:31     clojure.test$test_all_vars.invoke (test.clj:728)\n08:49:31     clojure.test$test_ns.invoke (test.clj:747)\n08:49:31     clojure.core$map$fn__4245.invoke (core.clj:2559)\n08:49:31     clojure.lang.LazySeq.sval (LazySeq.java:40)\n08:49:31     clojure.lang.LazySeq.seq (LazySeq.java:49)\n08:49:31     clojure.lang.Cons.next (Cons.java:39)\n08:49:31     clojure.lang.RT.boundedLength (RT.java:1654)\n08:49:31     clojure.lang.RestFn.applyTo (RestFn.java:130)\n08:49:31     clojure.core$apply.invoke (core.clj:626)\n08:49:31     clojure.test$run_tests.doInvoke (test.clj:762)\n08:49:31     clojure.lang.RestFn.applyTo (RestFn.java:137)\n08:49:31     clojure.core$apply.invoke (core.clj:624)\n08:49:31     user$eval85$fn__144$fn__175.invoke (form-init3774032803310670945.clj:1)\n08:49:31     user$eval85$fn__144$fn__145.invoke (form-init3774032803310670945.clj:1)\n08:49:31     user$eval85$fn__144.invoke (form-init3774032803310670945.clj:1)\n08:49:31     user$eval85.invoke (form-init3774032803310670945.clj:1)\n08:49:31     clojure.lang.Compiler.eval (Compiler.java:6703)\n08:49:31     clojure.lang.Compiler.eval (Compiler.java:6693)\n08:49:31     clojure.lang.Compiler.load (Compiler.java:7130)\n08:49:31     clojure.lang.Compiler.loadFile (Compiler.java:7086)\n08:49:31     clojure.main$load_script.invoke (main.clj:274)\n08:49:31     clojure.main$init_opt.invoke (main.clj:279)\n08:49:31     clojure.main$initialize.invoke (main.clj:307)\n08:49:31     clojure.main$null_opt.invoke (main.clj:342)\n08:49:31     clojure.main$main.doInvoke (main.clj:420)\n08:49:31     clojure.lang.RestFn.invoke (RestFn.java:421)\n08:49:31     clojure.lang.Var.invoke (Var.java:383)\n08:49:31     clojure.lang.AFn.applyToHelper (AFn.java:156)\n08:49:31     clojure.lang.Var.applyTo (Var.java:700)\n08:49:31     clojure.main.main (main.java:37)\n08:49:31 Caused by: org.eclipse.jetty.io.EofException: null\n08:49:31  at org.eclipse.jetty.io.ChannelEndPoint.flush (ChannelEndPoint.java:192)\n08:49:31     org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.flush (SslConnection.java:793)\n08:49:31     org.eclipse.jetty.io.WriteFlusher.flush (WriteFlusher.java:408)\n08:49:31     org.eclipse.jetty.io.WriteFlusher.completeWrite (WriteFlusher.java:364)\n08:49:31     org.eclipse.jetty.io.ssl.SslConnection$1.run (SslConnection.java:97)\n08:49:31     org.eclipse.jetty.util.thread.QueuedThreadPool.runJob (QueuedThreadPool.java:635)\n08:49:31     org.eclipse.jetty.util.thread.QueuedThreadPool$3.run (QueuedThreadPool.java:555)\n08:49:31     java.lang.Thread.run (Thread.java:745)\n08:49:31 Caused by: java.io.IOException: Broken pipe\n08:49:31  at sun.nio.ch.FileDispatcherImpl.write0 (FileDispatcherImpl.java:-2)\n08:49:31     sun.nio.ch.SocketDispatcher.write (SocketDispatcher.java:47)\n08:49:31     sun.nio.ch.IOUtil.writeFromNativeBuffer (IOUtil.java:93)\n08:49:31     sun.nio.ch.IOUtil.write (IOUtil.java:65)\n08:49:31     sun.nio.ch.SocketChannelImpl.write (SocketChannelImpl.java:492)\n08:49:31     org.eclipse.jetty.io.ChannelEndPoint.flush (ChannelEndPoint.java:170)\n08:49:31     org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.flush (SslConnection.java:793)\n08:49:31     org.eclipse.jetty.io.WriteFlusher.flush (WriteFlusher.java:408)\n08:49:31     org.eclipse.jetty.io.WriteFlusher.completeWrite (WriteFlusher.java:364)\n08:49:31     org.eclipse.jetty.io.ssl.SslConnection$1.run (SslConnection.java:97)\n08:49:31     org.eclipse.jetty.util.thread.QueuedThreadPool.runJob (QueuedThreadPool.java:635)\n08:49:31     org.eclipse.jetty.util.thread.QueuedThreadPool$3.run (QueuedThreadPool.java:555)\n08:49:31     java.lang.Thread.run (Thread.java:745)\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31962", "fixedVersions": [], "id": "31962", "issueType": "Bug", "key": "PCP-540", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Duplicate", "resolutionDate": "2016-08-17T09:19:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "clj-pcp-client unit test occasionally fails", "timeSpent": "PT0S", "updated": "2016-08-17T09:19:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Decided not to support message expiration.", "created": "2016-12-09T15:22:00.000000"}], "components": ["pcp-broker"], "created": "2016-08-03T12:29:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1e7e2ac3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-399"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3fj:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_175895742_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_10897282588"}], "description": "Messages that have expired because they've been on the queue for a long time should not be delivered. This is part of the contract implied by specifying a ttl for messages, allowing senders to reason about when to retry sending a message.\n\nAfter we've addressed clock skew - likely by switching to using a ttl instead of expiration - we should restore rejecting delivery of messages that have expired.", "epicLinkSummary": "PCP Version 2 Protocol", "estimate": "PT0S", "externalId": "32098", "fixedVersions": [], "id": "32098", "issueType": "Improvement", "key": "PCP-539", "labels": [], "originalEstimate": "PT0S", "parent": "31882", "parentSummary": "PCP Version 2 Protocol", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Won't Do", "resolutionDate": "2016-12-09T15:22:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Restore rejecting delivery of expired messages", "timeSpent": "PT0S", "updated": "2016-12-09T15:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Tested with pcp-broker @ d9e18bd16a638330f1df76e8776753a7763f0294\nFound PCP-541 where an ERROR might appear in pcp-broker's logging - this is being tracked in its own ticket", "created": "2016-08-05T10:15:00.000000"}], "components": ["pcp-broker"], "created": "2016-08-03T12:25:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@528b8f66"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-435"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Medium"}, {"fieldName": "QA Risk Probability Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Substantial change to pcp-broker"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "High"}, {"fieldName": "QA Risk Severity Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "PCP message delivery may be affected"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz35zz:"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Reverted enforcing message expiration (pcp-broker 0.7) on messages before the first attempt to send them to better handle clock skew between machines."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Aug/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_916535_*|*_1_*:*_1_*:*_9095_*|*_10007_*:*_1_*:*_57515724_*|*_3_*:*_1_*:*_1641371_*|*_10009_*:*_1_*:*_428471784_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_104823249"}], "description": "Prior to pcp-broker 0.7.0, the broker would deliver expired messages (but if they failed, would not retry). This provided some resiliency when clock skew exists between machines.\n\nPCP-245 stopped delivering expired messages, which started causing messages that had just been sent to be dropped when clock skew exists between a client and the broker. This made it infeasible to use PCP when even a moderate (several seconds) amount of clock skew exists in your data-center. A small amount of clock skew is inevitable in some installations.\n\nPCP-187 is a better solution to handling clock skew - messages include a TTL rather than absolute expiration time. Until we can handle message expiration in a more robust way, we should allow an initial attempt to deliver expired messages.", "epicLinkSummary": "PCP Broker Reliability", "estimate": "PT0S", "externalId": "31961", "fixedVersions": ["pcp-broker 0.8.0"], "id": "31961", "issueType": "Bug", "key": "PCP-538", "labels": [], "originalEstimate": "PT0S", "parent": "31934", "parentSummary": "PCP Broker Reliability", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-08-10T09:14:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pcp-broker not resilient to clock skew", "timeSpent": "PT0S", "updated": "2017-06-06T14:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["clj-pcp-client"], "created": "2016-08-03T12:09:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Unit tests incorrectly introduced a sleep to wait for the connection to close. Updated unit tests should succeed with no delay after broker halts."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@53aa4f1e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz7ydz:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_289531_*|*_1_*:*_1_*:*_4969_*|*_10007_*:*_1_*:*_57431205_*|*_5_*:*_1_*:*_449527974_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_28995916"}], "description": "PCP-518 introduced a delay to retry closed connections. However, during that delay period the client will incorrectly report that the connection is still connected.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31872", "fixedVersions": ["clj-pcp-client 0.3.3"], "id": "31872", "issueType": "Bug", "key": "PCP-537", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-08-04T12:14:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Client incorrectly reports connected for ~200ms after connection closed", "timeSpent": "PT0S", "updated": "2016-08-09T17:07:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["clj-pcp-client", "clj-pcp-common", "clj-pxp-puppet"], "created": "2016-08-03T11:26:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "It will be possible to configure and execute the tests of PCP clojure components with and without schema validation."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@78a53f5e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz7ya7:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1202517837_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_15646412426"}], "description": "Same as pcp-broker's PCP-527, but for the other PCP clojure components.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31960", "fixedVersions": [], "id": "31960", "issueType": "New Feature", "key": "PCP-536", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Done", "resolutionDate": "2017-02-14T10:41:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Enable testing PCP clj components with and without schema validation", "timeSpent": "PT0S", "updated": "2017-02-14T10:41:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I put up a PR for clj-pcp-client. I found another issue I'd introduced there that I fixed at the same time, PCP-537.", "created": "2016-08-03T12:58:00.000000"}], "components": ["clj-pcp-client", "clj-pcp-common", "clj-pxp-puppet"], "created": "2016-08-03T11:10:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Tests of PCP clojure components will not be executed with schema validation enabled."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@79c1f02b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz7y9j:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Aug/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_19986013_*|*_1_*:*_1_*:*_1818018_*|*_10007_*:*_1_*:*_87614168_*|*_3_*:*_1_*:*_75484346_*|*_5_*:*_2_*:*_12348220_*|*_6_*:*_1_*:*_40837_*|*_10011_*:*_1_*:*_343257182"}], "description": "Same as pcp-broker's PCP-526.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31714", "fixedVersions": ["clj-pcp-client 0.3.3", "clj-pcp-common 0.5.2", "clj-pxp-puppet 0.2.1"], "id": "31714", "issueType": "Bug", "key": "PCP-535", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-08-09T13:53:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Run tests of PCP clj components without schema validation", "timeSpent": "PT0S", "updated": "2016-08-09T17:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Some areas that can be improved over the existing clj-pxp-puppet:\n- allow Orchestrator to set the transaction_id, so it can use the same transaction_id when retrying a failed run and that transaction_id can be used to ensure the transaction is idempotent on the agent (PCP-627)\n- provide less complicated handling of request and response", "created": "2016-10-26T15:43:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I don't plan any new web API, so nothing in Swagger.", "created": "2016-11-08T16:55:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Design proposed, calling this done.", "created": "2016-11-09T11:43:00.000000"}], "components": [], "created": "2016-08-03T09:38:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@b4a618"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hymm1j:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "5.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_5447018761_*|*_3_*:*_1_*:*_1215137520_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1816110953"}], "description": "Design a Trapperkeeper service that acts as a gateway for acting through multiple brokers (could also use router in the name, lots of options). The design should document a potential API (via Swagger?) and the services behavior.\n\nIt should\n* maintain active client connections to all brokers\n* it's expected to live with services operating through the brokers\n* maintain a full inventory from all brokers\n** Faster responses (trade-off against memory use and potentially more network traffic)\n** Simplifies API usage externally\n** Potential use for broader understanding of infrastructure\n\nSome open questions:\n* Are requests sent via pcp-dispatcher, or directly by Orchestrator? Seems like we would use the active connections from pcp-dispatcher.\n* Does pcp-dispatcher handle retries? If delivery fails, it could wait to see if an inventory update comes in for a specified amount of time. This seems pretty optional initially, and that the Orchestrator itself could possibly do it better (perform other tasks then retry again later). Keeping pcp-dispatcher simple is good.\n* How is the API called? Expected to live alongside Orchestrator (probably in the same VM).", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31698", "fixedVersions": [], "id": "31698", "issueType": "Task", "key": "PCP-534", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Done", "resolutionDate": "2016-11-09T11:43:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Design pcp-dispatcher (hub tk-service)", "timeSpent": "PT0S", "updated": "2016-11-09T11:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "The test passes if I apply this diff:\n{code}     # Vendored Ruby needs to be on path for Windows/cygwin.\n     # Only do this for cygwin because other OSes (Cisco Nexus) do not handle setting env values inline.\n     if windows?(agent) then\n-      version_command = \"PATH=\\\"#{agent['privatebindir']}:$PATH\\\"\" + \" \" + version_command\n+      version_command = \"PATH=\\\"#{agent['privatebindir']}:C:\\\\Program Files\\\\Puppet Labs\\\\Puppet\\\\puppet\\\\bin:$PATH\\\"\" + \" \" + version_command\n     end\n     on(agent, version_command) do |result|\n       assert(/[0-9\\.]*/ =~ result.stdout, \"Version number should be numbers and periods but was \\\"#{result.stdout.to_s}\\\"\"){code}\n\nHowever the fix for this should be to update _privatebindir_ in [beaker|https://github.com/puppetlabs/beaker/blob/597a5177e345d05054cf7520a674d924317d0671/lib/beaker/dsl/install_utils/aio_defaults.rb#L20]", "created": "2016-08-03T07:18:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "This change to beaker will get the test passing again:\n{code}--- a/lib/beaker/dsl/install_utils/aio_defaults.rb\n+++ b/lib/beaker/dsl/install_utils/aio_defaults.rb\n@@ -17,7 +17,8 @@ module Beaker\n           },\n           'windows' => { #windows\n             'puppetbindir'      => '/cygdrive/c/Program Files (x86)/Puppet Labs/Puppet/bin:/cygdrive/c/Program Files/Puppet Labs/Puppet/bin',\n-            'privatebindir'     => '/cygdrive/c/Program Files (x86)/Puppet Labs/Puppet/sys/ruby/bin:/cygdrive/c/Program Files/Puppet Labs/Puppet/sys/ruby/bin',\n+            'privatebindir'     => '/cygdrive/c/Program Files (x86)/Puppet Labs/Puppet/sys/ruby/bin:/cygdrive/c/Program Files/Puppet Labs/Puppet/sys/ruby/bin:' \\\n+                                   '/cygdrive/c/Program Files (x86)/Puppet Labs/Puppet/puppet/bin:/cygdrive/c/Program Files/Puppet Labs/Puppet/puppet/bin',\n             'distmoduledir'     => '`cygpath -smF 35`/PuppetLabs/code/modules',\n             # sitemoduledir not included (check PUP-4049 for more info)\n           },{code}\n\nI am uncertain if changing _privatebindir_ is correct", "created": "2016-08-03T07:45:00.000000"}, {"author": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "body": "[~accountid:557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20] looks like more DLL issues in the MSIs.  I *think* that this could be related to the static / dynamic linking issue?  If not, it could be a simple issue about relocated paths where Beaker wasn't updated accordingly (I hope that's not the case because it would require a new Beaker release to address)\n\nIt would also be good to get a handle on which MSIs (x86 vs x64) were run through which ad-hoc pipelines?\n\nAlso [~accountid:557058:13ff83ed-edbc-4f24-9ab5-ad44eeeca4fc] it would be good to understand which things were / were not verified on RE-7216, so that we can track down if this was something that was missed and never right to begin with, or something that regressed and we need to address.", "created": "2016-08-03T08:05:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "is this a dupe of pcp-327?", "created": "2016-08-10T09:30:00.000000"}, {"author": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "body": "Firstly, the privatebindir is in fact the underlying issue and this is not a bug in the MSI, I expect libstdc++ to exist under /cygdrive/c/Program Files/Puppet Labs/Puppet/puppet/bin . Adding that path to the test is not a workaround, it's basically required.\n\nSo I can update the MSI to include a copy of libstdc++ under /cygdrive/c/Program Files/Puppet Labs/Puppet/sys/ruby/bin , but I'm not sure this is what we want to do. Specifically, /cygdrive/c/Program Files/Puppet Labs/Puppet/puppet/bin is where libstdc++ is currently. It will be required to stay there, so if we were to revert the test back and create a libstdc++ in the sys/ruby/bin dir, we are going to be carrying more than one copy of the lib, but only so our tests will pass", "created": "2016-08-10T09:34:00.000000"}, {"author": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "body": "[~accountid:557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715] no, this could be related but is not the same.", "created": "2016-08-10T09:36:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "[~accountid:557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715] no, not a duplicate of PCP-327", "created": "2016-08-10T10:07:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "[~accountid:557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20] - I believe our acceptance test should, instead of altering PATH directly, run ENVIRONMENT.bat to set up the environment.\nThis follows what a human would do in this situation", "created": "2016-08-10T10:14:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "why did this get moved to ready for test?  is there anything new to verify?", "created": "2016-08-10T12:53:00.000000"}], "components": ["pxp-agent package", "QA"], "created": "2016-08-03T04:06:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5902b775"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyn047:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Aug/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_656867266_*|*_1_*:*_1_*:*_562275_*|*_3_*:*_1_*:*_626328118_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_13958290"}], "description": "See \nhttps://jenkins.puppetlabs.com/job/platform_pxp-agent_intn-van-sys_master/164/SLAVE_LABEL=beaker,TEST_TARGET=windows2012r2-64a/testReport/junit/(root)/tests/pxp_agent_version_rb/\n\npuppet-agent 1.5.2.384.gc563e1c\n\n{noformat}Host 'ufzbkvl0agm2gh0.delivery.puppetlabs.net' exited with 127 running:\n PATH=\"/cygdrive/c/Program Files (x86)/Puppet Labs/Puppet/sys/ruby/bin:/cygdrive/c/Program Files/Puppet Labs/Puppet/sys/ruby/bin:$PATH\" /cygdrive/c/Program\\ Files/Puppet\\ Labs/Puppet/pxp-agent/bin/pxp-agent --version\nLast 10 lines of output were:\n\tC:/Program Files/Puppet Labs/Puppet/pxp-agent/bin/pxp-agent.exe: error while loading shared libraries: libstdc++-6.dll: cannot open shared object file: No such file or directory{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32167", "fixedVersions": [], "id": "32167", "issueType": "Bug", "key": "PCP-533", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-08-18T04:34:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent test is failing on Windows due to lib path", "timeSpent": "PT0S", "updated": "2016-08-18T04:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [], "components": ["pcp-broker"], "created": "2016-08-02T12:23:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@410dfaba"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Risk Probability Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Change includes unit tests that load example certs"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz7wev:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "SSL certificate bundles can now be specified; the first certificate in the chain will be used as the client certificate"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_2254991_*|*_1_*:*_1_*:*_2446734_*|*_10007_*:*_1_*:*_61084886_*|*_5_*:*_1_*:*_466356026_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_90663331"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31528", "fixedVersions": ["pcp-broker 0.8.0"], "id": "31528", "issueType": "Bug", "key": "PCP-531", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-08-04T07:51:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pcp-broker cannot be used with chained certificates", "timeSpent": "PT0S", "updated": "2016-08-09T17:23:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["clj-pcp-client"], "created": "2016-08-02T10:39:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Testing clj-pcp-client with a chained certificate."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@12f8b588"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Highest Test Level", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Unit"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz7w6v:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Blocks changes for Davis"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_88458133_*|*_1_*:*_1_*:*_5398139_*|*_10007_*:*_1_*:*_52461647_*|*_3_*:*_1_*:*_3231691_*|*_5_*:*_2_*:*_449686802_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_28826821"}], "description": "When attempting to use clj-pcp-client with a certificate file containing a certificate chain:\n{code}\n2016-07-29 18:01:56,678 [qtp1960321415-113] ERROR [p.p.pcp-client] Failed to connect pcp client to wss://c7dav.vm:8142/pcp/\nclojure.lang.ExceptionInfo: throw+: {:type :puppetlabs.pxp.puppet/connection-error, :error #error {\n :cause \"The PEM stream must contain exactly 1 certificate\"\n :via\n [{:type java.lang.IllegalArgumentException\n   :message \"The PEM stream must contain exactly 1 certificate\"\n   :at [com.puppetlabs.ssl_utils.SSLUtils pemToCert \"SSLUtils.java\" 502]}]\n :trace\n [[com.puppetlabs.ssl_utils.SSLUtils pemToCert \"SSLUtils.java\" 502]\n  [puppetlabs.ssl_utils.core$pem__GT_cert$fn__20957 invoke \"core.clj\" 612]\n  [puppetlabs.ssl_utils.core$pem__GT_cert invokeStatic \"core.clj\" 611]\n  [puppetlabs.ssl_utils.core$pem__GT_cert invoke \"core.clj\" 605]\n  [puppetlabs.pcp.client$eval47389$make_identity__47394$fn__47395 invoke \"client.clj\" 145]\n  [puppetlabs.pcp.client$eval47389$make_identity__47394 invoke \"client.clj\" 141]\n  [puppetlabs.pcp.client$eval47674$connect__47679$fn__47680 invoke \"client.clj\" 307]\n  [puppetlabs.pcp.client$eval47674$connect__47679 invoke \"client.clj\" 301]\n...\n{code}\n\nThis happens because pemToCert throws an exception if more than one cert is specified. clj-pcp-client needs to be changed to use pemToCerts and select the first (which should be the node's credentials).", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32034", "fixedVersions": ["clj-pcp-client 0.3.3"], "id": "32034", "issueType": "Bug", "key": "PCP-530", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-08-04T12:12:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "clj-pcp-client cannot be used with chained certificates", "timeSpent": "PT0S", "updated": "2017-07-19T15:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pxp-agent package", "QA"], "created": "2016-07-29T11:14:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2efafd20"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz7ufz:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Mar/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_11601943_*|*_1_*:*_1_*:*_19023204860_*|*_10007_*:*_1_*:*_79305299_*|*_5_*:*_2_*:*_2561315357_*|*_6_*:*_1_*:*_0"}], "description": "Beaker 2.48.0 onwards allows you to preserve files from the SUT for troubleshooting. See [here|https://confluence.puppetlabs.com/display/QE/Archive+arbitrary+files+from+acceptance+run] for details\n\nWe may be able to make use of this to capture logs, and if so then we can remove usage of the show_pcp_logs_on_failure method that cats log file contents to the beaker stdout", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31713", "fixedVersions": ["pxp-agent 1.5.0"], "id": "31713", "issueType": "Task", "key": "PCP-529", "labels": ["maintenance"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2017-03-07T18:07:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Acceptance: replace usage of show_pcp_logs_on_failure with file preservation", "timeSpent": "PT0S", "updated": "2017-04-06T08:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pcp-broker"], "created": "2016-07-29T09:44:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@f4d2650"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-435"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz7ucv:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Needed to enable profiles for PCP-526/7 work"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_261454684_*|*_1_*:*_1_*:*_21925_*|*_10007_*:*_1_*:*_6110333_*|*_3_*:*_1_*:*_436287_*|*_5_*:*_1_*:*_454805332_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_255165180_*|*_10006_*:*_1_*:*_4611"}], "description": "Run {{lein with-profile unit test}} or {{lein with-profile integration test}}\n\n**bug**\n\nerror due to missing dependencies.\n", "epicLinkSummary": "PCP Broker Reliability", "estimate": "PT0S", "externalId": "31527", "fixedVersions": ["pcp-broker 0.8.0"], "id": "31527", "issueType": "Bug", "key": "PCP-528", "labels": [], "originalEstimate": "PT0S", "parent": "31934", "parentSummary": "PCP Broker Reliability", "priority": "Trivial", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-08-04T11:04:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pcp-broker unit and integration profiles are broken", "timeSpent": "PT0S", "updated": "2016-08-09T17:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Done with https://github.com/puppetlabs/pcp-broker/commit/4ffdf8a86ba79dd7d62813999c35cb27d7a58068.", "created": "2017-01-06T13:16:00.000000"}], "components": ["pcp-broker"], "created": "2016-07-29T05:10:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1114c1b5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-435"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3hr:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/Jan/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_13943147376_*|*_5_*:*_1_*:*_1202321231_*|*_6_*:*_1_*:*_0"}], "description": "It would be useful to run unit and integration tests with and without schema validation.\nRefer to PCP-526 and https://github.com/plumatic/schema#schemas-in-practice.\n\nRefer to the PCP-526's PR #137; integration tests fail in Travis when schema validation is enabled by using the {{test-schema-validation}} profile.\n", "epicLinkSummary": "PCP Broker Reliability", "estimate": "PT0S", "externalId": "32030", "fixedVersions": ["pcp-broker 1.0.0"], "id": "32030", "issueType": "New Feature", "key": "PCP-527", "labels": [], "originalEstimate": "PT0S", "parent": "31934", "parentSummary": "PCP Broker Reliability", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2017-01-06T13:16:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Enable pcp-broker CI test with and without schema checks", "timeSpent": "PT0S", "updated": "2017-01-20T11:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pcp-broker"], "created": "2016-07-29T05:07:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@35103c4f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-435"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz7ua7:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "We want to run proper tests before Davis."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_2949_*|*_1_*:*_1_*:*_308363_*|*_10007_*:*_1_*:*_259411364_*|*_3_*:*_2_*:*_9136412_*|*_5_*:*_1_*:*_454688786_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_255280321_*|*_10006_*:*_1_*:*_15745035"}], "description": "After PCP-467 changes, schema validation for function signatures is only performed when we execute unit and integration tests. As a consequence, in those cases where tests assess error handling, we are not testing the behaviour of the actual pcp-broker that gets deployed in production. For instance, testing the broker's response after a message with a bad Envelope gives different outcomes depending on whether schema validation is enabled.\n\nIdeally, we should perform tests with and without schema validation. Until our CI is configured to do so, we should only enable schema checks in development environments.\n\nMore about the schema validation workflow here: https://github.com/plumatic/schema#schemas-in-practice.", "epicLinkSummary": "PCP Broker Reliability", "estimate": "PT0S", "externalId": "31870", "fixedVersions": ["pcp-broker 0.8.0"], "id": "31870", "issueType": "Bug", "key": "PCP-526", "labels": [], "originalEstimate": "PT0S", "parent": "31934", "parentSummary": "PCP Broker Reliability", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-08-04T11:06:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pcp-broker tests should be invoked without schema checks", "timeSpent": "PT0S", "updated": "2016-08-09T17:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "I've add {{s/validate Message message}} to clj-pcp-common's {{message/encode}}. Once we release it and update pcp-broker's dependency, we can remove the same call from pcp-broker's onMessage handler.", "created": "2016-08-04T08:40:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "validated in puppet-agent master SHA: 70763a75bc93ae67d0b290beaec29083eeec98d2\non el-7 master:\ni sent some garbage doing something like:\n{code}\n    283 class BrokenMessage < PCP::Message\n    284     def encode\n    285       chunks = []\n    286\n    287       @chunks.each_index do |i|\n    288         chunks << frame_chunk(i + 2, @chunks[i])\n    289       end\n    290\n    291       #RSchema.validate!(PCP::Protocol::Envelope, envelope)\n    292\n    293       [3,3,3,1, frame_chunk(1, envelope.to_json), chunks].flatten\n    294     end\n    295 end\n{code}\nand got:\n{code}\n    2016-08-09 14:45:04,527 DEBUG [qtp1122233055-101] [p.p.b.core] client erict.slice.puppetlabs.net connected from 10.32.163.206:50025\n    2016-08-09 14:45:04,529 TRACE [qtp1122233055-103] [p.p.b.core] Processing PCP message: {:id \"c5a16e9b-3380-4ed3-bae3-c078878ffdfd\", :targets [\"pcp:///server\"], :message_type \"http://puppetlabs.com/associate_request\", :sender \"pcp://erict.slice.puppetlabs.net/ruby-pcp-client-24956\", :expires \"2016-08-09T21:45:07Z\", :_chunks {:debug {:descriptor {:type 3, :flags #{}}, :data #<byte[] [B@3d60e719>}, :data {:descriptor {:type 2, :flags #{}}, :data #<byte[] [B@4d981a00>}}}\n    2016-08-09 14:45:04,529 TRACE [qtp1122233055-103] [p.p.b.core] Authorizing c5a16e9b-3380-4ed3-bae3-c078878ffdfd for [\"pcp:///server\"] - true: {auth-message}\n    2016-08-09 14:45:04,530 DEBUG [qtp1122233055-103] [p.p.b.core] Replying to pcp://erict.slice.puppetlabs.net/ruby-pcp-client-24956 with associate_response: {:id \"5c34f4bc-c18d-4477-b31e-7b8f2ec8fa9d\", :targets [\"pcp://erict.slice.puppetlabs.net/ruby-pcp-client-24956\"], :message_type \"http://puppetlabs.com/associate_response\", :sender \"pcp:///server\", :expires \"2016-08-09T21:45:07.530Z\", :_chunks {:data {:descriptor {:type 2, :flags #{}}, :data #<byte[] [B@51b1fcb0>}}, :in-reply-to \"c5a16e9b-3380-4ed3-bae3-c078878ffdfd\"}\n    2016-08-09 14:45:04,534 DEBUG [qtp1122233055-19] [p.p.b.core] client erict.slice.puppetlabs.net disconnected from 10.32.163.206:50025 1006 WebSocket Read EOF\n{code}\n\nso the message doesn't get delivered, as expected.  but i don't exactly get an error from {{#onMessage}}", "created": "2016-08-09T15:55:00.000000"}], "components": ["clj-pcp-common", "pcp-broker"], "created": "2016-07-29T04:54:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "By looking at the pcp-broker logs one may verify that a received message with an invalid PCP Envelope is immediately discarded by the onMessage handler."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@48632dda"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-435"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz7u9r:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Required after PCP-489"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Aug/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_10762303_*|*_1_*:*_1_*:*_453576046_*|*_10007_*:*_1_*:*_371408_*|*_3_*:*_2_*:*_98107887_*|*_5_*:*_2_*:*_4975017_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_350820211_*|*_10006_*:*_1_*:*_76687123"}], "description": "Ensure that the onMessage handler validates the envelope of incoming messages before processing  them. We must verify that as:\n - after PCP-467, we disabled schema checks based on the signature of functions;\n - within PCP-489, we will remove the validation of the messages created by the broker.", "epicLinkSummary": "PCP Broker Reliability", "estimate": "PT0S", "externalId": "31712", "fixedVersions": ["clj-pcp-common 0.5.2", "pcp-broker 0.8.0"], "id": "31712", "issueType": "Improvement", "key": "PCP-525", "labels": [], "originalEstimate": "PT0S", "parent": "31934", "parentSummary": "PCP Broker Reliability", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-08-09T15:59:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pcp-broker's onMessage handler must validate the envelope of incoming messages", "timeSpent": "PT0S", "updated": "2016-08-09T17:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [], "components": ["pcp-broker"], "created": "2016-07-28T06:42:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "When pcp-broker sends back an {{error_message}} after a successfully deserialized message, the {{error_message}} should contain the {{id}} entry in the data chunk content."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2e101853"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-435"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz7tbz:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Found during PCP-489 work; we may want this for Davis"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_4082106_*|*_1_*:*_1_*:*_6778_*|*_10007_*:*_1_*:*_1558442_*|*_3_*:*_1_*:*_13211618_*|*_5_*:*_1_*:*_996107545_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_60376123"}], "description": "The {{send-error-message}} of {{pcp-broker.core}} doesn't add the optional {{id}} entry to the data content of the {{error_message}}; it only adds the mandatory {{description}} field.", "epicLinkSummary": "PCP Broker Reliability", "estimate": "PT0S", "externalId": "31761", "fixedVersions": ["pcp-broker 0.8.0"], "id": "31761", "issueType": "Bug", "key": "PCP-524", "labels": [], "originalEstimate": "PT0S", "parent": "31934", "parentSummary": "PCP Broker Reliability", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-07-29T04:42:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pcp-broker doesn't add the 'id' entry to error_message data content", "timeSpent": "PT0S", "updated": "2016-08-09T17:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2016-07-27T11:50:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "pcp-broker's test coverage is increased."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@672d1685"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-435"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyn04n:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_1275535_*|*_1_*:*_1_*:*_1037372924_*|*_10007_*:*_1_*:*_17432279_*|*_3_*:*_1_*:*_151131731_*|*_5_*:*_1_*:*_7791979745_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_88678067"}], "description": "Add new tests.", "epicLinkSummary": "PCP Broker Reliability", "estimate": "PT0S", "externalId": "31959", "fixedVersions": ["pcp-broker 0.8.1"], "id": "31959", "issueType": "Improvement", "key": "PCP-523", "labels": [], "originalEstimate": "PT0S", "parent": "31934", "parentSummary": "PCP Broker Reliability", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-08-11T11:48:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Improve pcp-broker's unit and integration tests", "timeSpent": "PT0S", "updated": "2016-11-09T15:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Planned as part of pcp-broker updates for pcp-broker 1.0.", "created": "2016-12-16T16:06:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Fixed in refactor for pcp-broker 1.0.0.", "created": "2017-01-06T13:16:00.000000"}], "components": ["pcp-broker"], "created": "2016-07-25T08:12:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "An {{associate_request}} on an associate connection will not trigger the connection closure."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@431cf797"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-435"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz6mxb:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "0.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Dec/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_12473645873_*|*_5_*:*_1_*:*_1202283408_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1804233103"}], "description": "If a client sends an {{associate_request}} on a previously associated WebSocket connection, pcp-broker closes such connection. Instead, the broker should not change the connection state and reply with a successful {{associate-response}}.", "epicLinkSummary": "PCP Broker Reliability", "estimate": "PT0S", "externalId": "32027", "fixedVersions": ["pcp-broker 1.0.0"], "id": "32027", "issueType": "Improvement", "key": "PCP-521", "labels": [], "originalEstimate": "PT0S", "parent": "31934", "parentSummary": "PCP Broker Reliability", "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2017-01-06T13:16:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pcp-broker should make associate_requests idempotent", "timeSpent": "PT0S", "updated": "2017-01-20T11:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "No longer relevant for PCPv2.", "created": "2017-01-06T14:03:00.000000"}], "components": [], "created": "2016-07-25T05:37:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Logging a Message object provides chunk sizes."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3e4e089c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-435"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz7q0n:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/Jan/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_14289998704_*|*_6_*:*_1_*:*_0"}], "description": "Currently the size of envelope and data chunks is not recorded in Message objects. This is a Message example:\n{code}\n{:id \"4ca88ac6-9fe9-4ade-b4f4-792203ede34c\", :targets [\"pcp:///server\"], :message_type \"http://puppetlabs.com/associate_request\", :sender \"pcp://pxp-agent.example.com/agent\", :expires \"2016-07-25T11:23:24.230792Z\", :_chunks {:data {:descriptor {:type 2, :flags #{}}, :data #<byte[] [B@669c2523>}}}\n{code}\nConsider adding it to provide more debug information in log messages.", "epicLinkSummary": "PCP Broker Reliability", "estimate": "PT0S", "externalId": "31943", "fixedVersions": [], "id": "31943", "issueType": "Improvement", "key": "PCP-520", "labels": [], "originalEstimate": "PT0S", "parent": "31934", "parentSummary": "PCP Broker Reliability", "priority": "Minor", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Won't Do", "resolutionDate": "2017-01-06T14:03:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Consider adding chunk size to clj-pcp-common's Message", "timeSpent": "PT0S", "updated": "2017-01-06T14:03:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["clj-pcp-client"], "created": "2016-07-21T16:53:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "clj-pcp-client tests should still pass, be more reliable."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6994e4dd"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz7oef:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "clj-pcp-client now includes a small delay between attempting to reconnect when disconnected while broker is starting up or shutting down."}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "While spiking v2, this seemed useful."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_18868857_*|*_1_*:*_1_*:*_54032_*|*_10007_*:*_1_*:*_60686860_*|*_3_*:*_1_*:*_173726_*|*_10009_*:*_1_*:*_26460601_*|*_5_*:*_1_*:*_131552_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_222934566"}], "description": "The clj-pcp-client attempts to reconnect immediately after its connection is closed (unless told to stop). When the PCP broker is starting up or shutting down, connections will open and then be closed when the association request is denied (because the broker is not ready). Re-attempting immediately floods the broker with lots of connection attempts; this was making tests unstable in clj-pcp-client.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31866", "fixedVersions": ["clj-pcp-client 0.3.2"], "id": "31866", "issueType": "Bug", "key": "PCP-518", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-07-25T12:19:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "clj-pcp-client attempts reconnect immediately after closed connection", "timeSpent": "PT0S", "updated": "2016-07-25T12:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Fixed in PCPv2.", "created": "2017-01-06T14:03:00.000000"}], "components": ["clj-pcp-common"], "created": "2016-07-21T05:19:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Calling capsule/summarize on a Capsule instantiated out of a message with {{sender}} set to an empty string (e.g. as returned by message/make-message) will not throw anymore."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@369ab730"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-435"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz7nvb:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/Jan/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_14636674646_*|*_6_*:*_1_*:*_0"}], "description": "The Message schema overrides the Envelope's {{sender}} entry by relaxing the PCP URI format; it requires the entry to be a string.\nConsider enforcing that Message instances model valid PCP messages by enforcing the format of the {{sender}} entry (PCP URI), as done in the Envelope schema.\nThis requires that {{message/make-message}} receives the desired sender value as an argument. Other changes may be necessary.", "epicLinkSummary": "PCP Broker Reliability", "estimate": "PT0S", "externalId": "31942", "fixedVersions": [], "id": "31942", "issueType": "Improvement", "key": "PCP-517", "labels": [], "originalEstimate": "PT0S", "parent": "31934", "parentSummary": "PCP Broker Reliability", "priority": "Minor", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2017-01-06T14:03:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Consider not overriding Envelope's sender in clj-pcp-common's Message schema", "timeSpent": "PT0S", "updated": "2017-01-06T14:03:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "What could be the impact of this? Is it only testing, or would it show up during some production scenario?", "created": "2016-07-25T11:06:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "It should be ok in production", "created": "2016-07-25T15:18:00.000000"}], "components": ["pcp-broker"], "created": "2016-07-21T05:12:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Calling capsule/summarize on a Capsule instantiated out of a message with {{sender}} set to an empty string (e.g. as returned by message/make-message) will not throw anymore."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1a219f66"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-435"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz7nvj:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Fix the expected format of the CapsuleLog data structure."}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Needed by PCP-489"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Jul/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_74563290_*|*_1_*:*_1_*:*_419895_*|*_10007_*:*_1_*:*_6479307_*|*_3_*:*_1_*:*_10981688_*|*_10009_*:*_1_*:*_35257750_*|*_5_*:*_1_*:*_1304358638_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_253494432"}], "description": "CapsuleLog are created out of the capsule's Message instance which does not guarantee that the {{source}} entry is a PCP URI; fix the CapsuleLog schema.", "epicLinkSummary": "PCP Broker Reliability", "estimate": "PT0S", "externalId": "31862", "fixedVersions": ["pcp-broker 0.8.0"], "id": "31862", "issueType": "Bug", "key": "PCP-516", "labels": [], "originalEstimate": "PT0S", "parent": "31934", "parentSummary": "PCP Broker Reliability", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-07-25T15:05:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pcp-broker's CapsuleLog's source may not be a PCP URI", "timeSpent": "PT0S", "updated": "2016-08-09T17:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Tests currently pass on Arista, but we have a skipped test ( restart_host_run_puppet.rb )\nWe need an update to our test VMs ( RE-7673 ) before we can run that test on Arista.\n\nCalling this ticket done", "created": "2016-07-27T08:46:00.000000"}], "components": ["pxp-agent package", "QA"], "created": "2016-07-21T05:05:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "All pxp-agent acceptance tests pass for TEST_TARGET=arista4-32a"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@51de6c7b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyn1r3:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Opportunity to complete in this sprint"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_354792334_*|*_10007_*:*_1_*:*_83748333_*|*_3_*:*_1_*:*_176913481_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_15507496"}], "description": "https://jenkins.puppetlabs.com/view/puppet-agent/view/master/view/puppet-agent/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/2/SLAVE_LABEL=beaker,TEST_TARGET=arista4-32a/#showFailuresLink", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31759", "fixedVersions": [], "id": "31759", "issueType": "Bug", "key": "PCP-515", "labels": ["pxp_puppet-agent_ci"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-07-28T12:21:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Acceptance fails on Arista 4 32bit", "timeSpent": "PT0S", "updated": "2016-07-28T12:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "I've kept PCP-508 as a separate ticket, as I suspect this may be an issue in either beaker or our VM template", "created": "2016-07-21T05:01:00.000000"}], "components": ["pxp-agent package", "QA"], "created": "2016-07-21T05:00:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform pxp-agent"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@a54e190"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz7nv3:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Bandwidth to work on this now"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_107115196_*|*_1_*:*_1_*:*_97459111_*|*_10007_*:*_1_*:*_20244710_*|*_3_*:*_1_*:*_243479426_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_54347837_*|*_10005_*:*_1_*:*_51869"}], "description": "https://jenkins.puppetlabs.com/view/puppet-agent/view/master/view/puppet-agent/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/2/SLAVE_LABEL=beaker,TEST_TARGET=cisconx-64a/consoleFull\n\nRather than create one ticket per test failure; there are likely 1-2 common issues, so we should straighten out all the tests under a separate ticket.\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31696", "fixedVersions": [], "id": "31696", "issueType": "CI Blocker", "key": "PCP-514", "labels": ["pxp_puppet-agent_ci"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-07-27T06:12:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Acceptance tests fail on Cisco Nexus", "timeSpent": "PT0S", "updated": "2016-08-03T17:26:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "This test has been passing without issue in CI", "created": "2016-09-13T03:36:00.000000"}], "components": ["pxp-agent", "QA"], "created": "2016-07-21T04:52:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1b2b32d8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hymua7:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_624823218_*|*_3_*:*_1_*:*_71270851_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_1048246096_*|*_10006_*:*_1_*:*_2916741088"}], "description": "https://jenkins.puppetlabs.com/view/puppet-agent/view/master/view/puppet-agent/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/2/SLAVE_LABEL=beaker,TEST_TARGET=windows10ent-32a/testReport/(root)/tests/restart_host_run_puppet_rb/\n\nThis looks like some bad Ruby, where an object handle is somehow attempted to be used as a string:\n\n{noformat}   C94777 - Ensure pxp-agent functions after agent host restart\n    \n    * Ensure each agent host has pxp-agent service running and enabled\n      \n      blpp4owzvk8u88j.delivery.puppetlabs.net (windows10ent-32-1) 14:05:36$ cmd.exe /c puppet resource service pxp-agent ensure=stopped\n        Notice: /Service[pxp-agent]/ensure: ensure changed 'running' to 'stopped'\n        service { 'pxp-agent':\n          ensure => 'stopped',\n        }\n      \n      blpp4owzvk8u88j.delivery.puppetlabs.net (windows10ent-32-1) executed in 9.67 seconds\n      \n      blpp4owzvk8u88j.delivery.puppetlabs.net (windows10ent-32-1) 14:05:46$ cmd.exe /c puppet config print ssldir\n        C:/ProgramData/PuppetLabs/puppet/etc/ssl\n      \n      blpp4owzvk8u88j.delivery.puppetlabs.net (windows10ent-32-1) executed in 1.44 seconds\n      localhost $ scp /tmp/beaker20160719-2073-tydrxj windows10ent-32-1:/cygdrive/c/ProgramData/PuppetLabs/pxp-agent/etc/pxp-agent.conf {:ignore => }\n      \n      blpp4owzvk8u88j.delivery.puppetlabs.net (windows10ent-32-1) 14:05:47$ cmd.exe /c puppet resource service pxp-agent ensure=running enable=true\n        Notice: /Service[pxp-agent]/ensure: ensure changed 'stopped' to 'running'\n        service { 'pxp-agent':\n          ensure => 'running',\n          enable => 'true',\n        }\n      \n      blpp4owzvk8u88j.delivery.puppetlabs.net (windows10ent-32-1) executed in 9.73 seconds\n    \n    * restart each agent\n      \n      blpp4owzvk8u88j.delivery.puppetlabs.net (windows10ent-32-1) 14:05:58$ shutdown /f /r /t 0 /d p:4:1 /c \"Beaker::Host reboot command issued\"\n      \n      blpp4owzvk8u88j.delivery.puppetlabs.net (windows10ent-32-1) executed in 0.61 seconds\n      Waiting for connection failure on windows10ent-32-1 (attempt 1, try again in 3 second(s))\n      \n      windows10ent-32-1 14:05:58$ echo echo\n      sleep 3 second(s):       .      .      .\n      Waiting for connection failure on windows10ent-32-1 (attempt 2, try again in 5 second(s))\n      \n      windows10ent-32-1 14:06:01$ echo echo\n      sleep 5 second(s):       .      .      .      .      .\n      Waiting for connection failure on windows10ent-32-1 (attempt 3, try again in 8 second(s))\n      \n      windows10ent-32-1 14:06:12$ echo echo\n      echo\n      sleep 8 second(s):       .      .      .      .      .      .      .      .\n      Waiting for connection failure on windows10ent-32-1 (attempt 4, try again in 13 second(s))\n      \n      windows10ent-32-1 14:06:41$ echo echo\n      Connection on windows10ent-32-1 failed as expected (Errno::ECONNRESET - Connection reset by peer - recvfrom(2))\n      Warning: Attemped ssh.close, (caught Net::SSH::Disconnect - connection closed by remote host).\n      Warning: ssh connection to windows10ent-32-1 has been terminated\n      \n      * wait until pxp-agent is back up and associated on blpp4owzvk8u88j.delivery.puppetlabs.net\n        \n        blpp4owzvk8u88j.delivery.puppetlabs.net (windows10ent-32-1) 14:07:21$ #<Beaker::Command:0x00000007d9d0d0>\n          Trying command 30 times.\n        .          Attempting ssh connection to blpp4owzvk8u88j.delivery.puppetlabs.net, user: Administrator, opts: {:config=>false, :paranoid=>false, :auth_methods=>[\"publickey\"], :port=>22, :forward_agent=>true, :keys=>[\"~/.ssh/id_rsa-acceptance\"], :user_known_hosts_file=>\"/var/lib/jenkins/.ssh/known_hosts\", :keepalive=>true, :user=>\"Administrator\"}\n        .        .        .        .        .        .        .        .        .        .        .        .        .        .        .        .        .        .        .        .        .        .        .        .        .        .        .        .        .        .        .          Command `#<Beaker::Command:0x00000007d9d0d0>` failed.\n        RuntimeError: Command `#<Beaker::Command:0x00000007d9d0d0>` failed.\n        /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-32a/pxp-agent/acceptance/tests/restart_host_run_puppet.rb:42\n        /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-32a/pxp-agent/acceptance/tests/restart_host_run_puppet.rb:37\n        /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-32a/pxp-agent/acceptance/tests/restart_host_run_puppet.rb:23\n        /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-32a/pxp-agent/acceptance/tests/restart_host_run_puppet.rb:23\n        /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-32a/pxp-agent/acceptance/tests/restart_host_run_puppet.rb:22\n        /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-32a/pxp-agent/acceptance/tests/restart_host_run_puppet.rb:3\n        /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-32a/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.47.1/bin/beaker:6\n        Begin teardown\n        End teardown{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31710", "fixedVersions": [], "id": "31710", "issueType": "Bug", "key": "PCP-513", "labels": ["pxp_puppet-agent_ci"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Cannot Reproduce", "resolutionDate": "2016-09-13T03:36:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Acceptance - restart_host_run_puppet.rb fails on Windows 10 32bit", "timeSpent": "PT0S", "updated": "2016-09-29T13:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "This and PCP-512 are the same issue - 'puppet resource service' fails on this OS - which is PUP-6459", "created": "2016-07-29T03:59:00.000000"}], "components": ["pxp-agent package", "QA"], "created": "2016-07-21T04:42:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7adad9bc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz7nuv:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_689427795_*|*_5_*:*_1_*:*_0"}], "description": "https://jenkins.puppetlabs.com/view/puppet-agent/view/master/view/puppet-agent/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/1/SLAVE_LABEL=beaker,TEST_TARGET=windows10ent-32a/testReport/junit/(root)/tests/service_stop_start_rb/\n\n{noformat}        Service Start stop/start, with configuration)\n        \n        i7sy32v9ryguyul.delivery.puppetlabs.net (windows10ent-32-1) 10:25:01$ cmd.exe /c puppet config print ssldir\n          C:/ProgramData/PuppetLabs/puppet/etc/ssl\n        \n        i7sy32v9ryguyul.delivery.puppetlabs.net (windows10ent-32-1) executed in 1.43 seconds\n        localhost $ scp /tmp/beaker20160719-22009-1vgr5kt windows10ent-32-1:/cygdrive/c/ProgramData/PuppetLabs/pxp-agent/etc/pxp-agent.conf {:ignore => }\n        \n        * C93070 - Service Start (from stopped, with configuration)\n          \n          i7sy32v9ryguyul.delivery.puppetlabs.net (windows10ent-32-1) 10:25:03$ cmd.exe /c puppet resource service pxp-agent ensure=stopped\n            Notice: /Service[pxp-agent]/ensure: ensure changed 'running' to 'stopped'\n            service { 'pxp-agent':\n              ensure => 'stopped',\n            }\n          \n          i7sy32v9ryguyul.delivery.puppetlabs.net (windows10ent-32-1) executed in 9.75 seconds\n          \n          i7sy32v9ryguyul.delivery.puppetlabs.net (windows10ent-32-1) 10:25:13$ cmd.exe /c puppet resource service pxp-agent \n            WARNING: Failed to retreive description for the XboxNetApiSvc service.\n            Error: Could not run: No such device or address - QueryServiceConfig2: The handle is invalid.\n          \n          i7sy32v9ryguyul.delivery.puppetlabs.net (windows10ent-32-1) executed in 2.09 seconds\n          Exited: 1\n          Beaker::Host::CommandFailure: Host 'i7sy32v9ryguyul.delivery.puppetlabs.net' exited with 1 running:\n           cmd.exe /c puppet resource service pxp-agent \n          Last 10 lines of output were:\n          \tWARNING: Failed to retreive description for the XboxNetApiSvc service.\n          \tError: Could not run: No such device or address - QueryServiceConfig2: The handle is invalid.\n          /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-32a/pxp-agent/acceptance/tests/service_stop_start.rb:25\n          /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-32a/pxp-agent/acceptance/tests/service_stop_start.rb:45\n          /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-32a/pxp-agent/acceptance/tests/service_stop_start.rb:43\n          /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-32a/pxp-agent/acceptance/tests/service_stop_start.rb:38\n          /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-32a/pxp-agent/acceptance/tests/service_stop_start.rb:38\n          /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-32a/pxp-agent/acceptance/tests/service_stop_start.rb:38\n          /var/lib/jenkins/workspace/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-32a/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.47.1/bin/beaker:6{noformat}\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31526", "fixedVersions": [], "id": "31526", "issueType": "Bug", "key": "PCP-512", "labels": ["pxp_puppet-agent_ci"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Duplicate", "resolutionDate": "2016-07-29T04:13:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Acceptance - service_stop_start.rb , invalid_ssl_config.rb fail on Windows 10 32bit", "timeSpent": "PT0S", "updated": "2016-07-29T04:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Failed to build on some platforms, put up a PR to fix that.", "created": "2017-09-26T13:24:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "For acceptance testing, I'd suggest changing some of the existing tests to use a hocon config.", "created": "2017-09-29T09:54:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e], I don't seem to be able to find any explicit pxp-agent configuration file in the [acceptance tests|https://github.com/puppetlabs/pxp-agent/tree/567e05a8444a1280bec0b73cab2eca16e247da18/acceptance], are there any other pxp-agent acceptance tests I should check?\nI've at least updated the unit test: [pxp-agent PR #672|https://github.com/puppetlabs/pxp-agent/pull/672/files]", "created": "2017-10-02T16:27:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "That's probably sufficient. We setup config in acceptance tests at https://github.com/puppetlabs/pxp-agent/blob/master/acceptance/lib/pxp-agent/config_helper.rb#L47-L53 and other places in that file.", "created": "2017-10-02T16:30:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "Ah, ok. I'll try to use [ruby-hocon|https://github.com/puppetlabs/ruby-hocon] to generate the HOCON syntax config instead.", "created": "2017-10-02T16:59:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "I've updated the acceptance tests to generate the pxp-agent's config in the HOCON syntax in [pxp-agent PR #674|https://github.com/puppetlabs/pxp-agent/pull/674].", "created": "2017-10-02T23:11:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:093475a3-6bc8-4a70-8034-ae5a2ea66512] please provide release notes for this issue, if needed. Thanks!", "created": "2017-11-27T08:13:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "[~accountid:557058:3da95088-202d-4082-a15a-eb2e812f2578] Done.", "created": "2017-11-27T09:20:00.000000"}], "components": ["pxp-agent"], "created": "2016-07-20T17:01:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Config file supports full HOCON config."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6a543c0d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hylg6v:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "pxp-agent configuration file can now be written in the HOCON syntax (https://github.com/lightbend/config/blob/master/HOCON.md). Config files must now use either the .json or .conf extension."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/Jan/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_4_*:*_566779885_*|*_1_*:*_2_*:*_17789338943_*|*_10007_*:*_4_*:*_1143235511_*|*_3_*:*_1_*:*_3294470_*|*_5_*:*_1_*:*_14008811440_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_2_*:*_426459701_*|*_10006_*:*_1_*:*_18584235736"}], "description": "Switch to parsing config with cpp-hocon, so we can support HOCON.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31525", "fixedVersions": ["pxp-agent 1.9.0"], "id": "31525", "issueType": "Improvement", "key": "PCP-511", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-10-09T11:10:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Use cpp-hocon for config in pxp-agent", "timeSpent": "PT0S", "updated": "2018-03-20T14:30:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "We should add changelog entries >= 1.1.2 of both projects.", "created": "2016-08-05T09:22:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Oh, they keep their own changelogs? We should then.", "created": "2016-08-05T09:24:00.000000"}], "components": ["cpp-pcp-client", "pxp-agent"], "created": "2016-07-20T12:00:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7465f696"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyn03r:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "0.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Aug/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_596175292_*|*_3_*:*_2_*:*_11191550_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_166758539_*|*_10006_*:*_3_*:*_1124548222"}], "description": "Tag cpp-pcp-client 1.2.0 and pxp-agent 1.2.0 for puppet-agent 1.6.0 packaging and release.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31524", "fixedVersions": [], "id": "31524", "issueType": "Task", "key": "PCP-510", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Done", "resolutionDate": "2016-08-11T11:25:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Tag cpp-pcp-client 1.2.0 and pxp-agent 1.2.0", "timeSpent": "PT0S", "updated": "2016-08-11T11:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "attachments": [], "comments": [], "components": ["clj-pxp-puppet"], "created": "2016-07-20T11:57:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "clj-pxp-puppet 0.2.0 is released"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@729391bb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3db:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Easy and requested by other teams."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_17569_*|*_3_*:*_1_*:*_10699019_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_433852985"}], "description": "Release clj-pxp-puppet 0.2.0. The primary feature is a new signature for {{get-connected-agents}} that allows specifying a list of agent certs to query. This will be used by several components within PE.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32166", "fixedVersions": [], "id": "32166", "issueType": "Task", "key": "PCP-509", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Done", "resolutionDate": "2016-07-25T15:27:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Release clj-pxp-puppet 0.2.0", "timeSpent": "PT0S", "updated": "2016-07-25T15:27:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2016-07-19T18:00:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Should be able to setup a broker without a vNext route configured."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5b34f372"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz7mtb:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "PCP broker 0.7.0 introduced a vNext route, but instead of being optional it was required. Correct that so configuration of the vNext route is optional."}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Blocks promotion into PE"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_26287287_*|*_1_*:*_1_*:*_76077_*|*_10007_*:*_1_*:*_36792401_*|*_3_*:*_1_*:*_741733_*|*_10009_*:*_1_*:*_24894962_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_409175184"}], "description": "The vNext route was intended to be optional, but when get-route is called with an unconfigured route it triggers an exception. Fix this so missing configuration is allowed.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31695", "fixedVersions": ["pcp-broker 0.7.2"], "id": "31695", "issueType": "Bug", "key": "PCP-506", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-07-25T12:19:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "vNext route missing throws exception", "timeSpent": "PT0S", "updated": "2016-07-25T12:19:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2016-07-18T17:54:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@dc5b827"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-436"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz7m33:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_12435973815_*|*_6_*:*_1_*:*_0"}], "description": "pcp-specifications loosely defines practices for older clients communicating with a newer broker using codecs. Expand that definition to cover newer clients communicating with an older broker.", "epicLinkSummary": "Prepare for PCP/PXP Version 2", "estimate": "PT0S", "externalId": "31860", "fixedVersions": [], "id": "31860", "issueType": "New Feature", "key": "PCP-504", "labels": [], "originalEstimate": "PT0S", "parent": "32089", "parentSummary": "Prepare for PCP/PXP Version 2", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Won't Do", "resolutionDate": "2016-12-09T15:20:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Update pcp-specifications for expanded versioning", "timeSpent": "PT0S", "updated": "2016-12-09T15:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["ruby-pcp-client"], "created": "2016-07-18T17:52:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@466bb36f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-436"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz7m2v:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_12436080828_*|*_6_*:*_1_*:*_0"}], "description": "Like pcp-broker and clj-pcp-client, ruby-pcp-client needs to be able to interoperate with old v1 brokers, as well as use new features when connected to a v2 broker.\n\nIntroduce the concept of message versions and conversion codecs to ruby-pcp-client.", "epicLinkSummary": "Prepare for PCP/PXP Version 2", "estimate": "PT0S", "externalId": "31757", "fixedVersions": [], "id": "31757", "issueType": "New Feature", "key": "PCP-503", "labels": [], "originalEstimate": "PT0S", "parent": "32089", "parentSummary": "Prepare for PCP/PXP Version 2", "priority": "Minor", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Won't Do", "resolutionDate": "2016-12-09T15:20:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Introduce message version and codec to ruby-pcp-client", "timeSpent": "PT0S", "updated": "2016-12-09T15:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["cpp-pcp-client"], "created": "2016-07-18T17:52:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@381dc754"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-436"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz7m2f:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_12436104746_*|*_6_*:*_1_*:*_0"}], "description": "Like pcp-broker and clj-pcp-client, cpp-pcp-client needs to be able to interoperate with old v1 brokers, as well as use new features when connected to a v2 broker.\n\nIntroduce the concept of message versions and conversion codecs to cpp-pcp-client.", "epicLinkSummary": "Prepare for PCP/PXP Version 2", "estimate": "PT0S", "externalId": "31523", "fixedVersions": [], "id": "31523", "issueType": "New Feature", "key": "PCP-502", "labels": [], "originalEstimate": "PT0S", "parent": "32089", "parentSummary": "Prepare for PCP/PXP Version 2", "priority": "Minor", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Won't Fix", "resolutionDate": "2016-12-09T15:20:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Introduce message version and codec to cpp-pcp-client", "timeSpent": "PT0S", "updated": "2016-12-09T15:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["clj-pcp-common"], "created": "2016-07-18T17:49:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@27dd870f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-436"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz7m1z:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_12436231932_*|*_6_*:*_1_*:*_0"}], "description": "clj-pcp-common defines a single Envelope and Message. pcp-broker currently defines a codec for converting v1 messages to the latest message format.\n\nCodec definition will also be needed in clj-pcp-client. Move codec definition to clj-pcp-common, and define Envelope and Message v1 formats for validating incoming v1 messages.", "epicLinkSummary": "Prepare for PCP/PXP Version 2", "estimate": "PT0S", "externalId": "32164", "fixedVersions": [], "id": "32164", "issueType": "New Feature", "key": "PCP-501", "labels": [], "originalEstimate": "PT0S", "parent": "32089", "parentSummary": "Prepare for PCP/PXP Version 2", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Won't Fix", "resolutionDate": "2016-12-09T15:20:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Define old and new message versions - and codec for conversion - in clj-pcp-common", "timeSpent": "PT0S", "updated": "2017-02-28T16:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "The PCP dev team agreed to change the behaviour implemented in pcp-broker to avoid closing the WebSocket connection after a duplicate {{associate_request}} from a given client.", "created": "2016-07-18T10:15:00.000000"}], "components": ["protocol"], "created": "2016-07-18T05:51:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@68bb8eef"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-435"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz35zb:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_16990822_*|*_10007_*:*_1_*:*_22654510_*|*_3_*:*_1_*:*_19926115_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1278206461"}], "description": "By following what's implemented in pcp-broker, document the broker operation requirements in respect to:\n\n - when a new WebSocket connection is attempted with a common name currently used in a different WebSocket connection, the new connection supersedes the old one;\n - when an {{associate_request}} is received for an already associated connection, the connection is closed.\n\nEnsure that the implemented behaviour makes sense.\n\nDecide and specify what happens if the {{associate_request}} is not authorized:\n - in version 1.0, the broker sends back an unsuccessful {{associate_response}} message (PCP-489);\n - in version 2.0 (currently {{next}}), the broker will send back an {{unauthorized}} message? \n\nSpecify what happens in case a PCP message other than {{associate_request}} is received before the WebSocket connection is associated (currently, nothing).", "epicLinkSummary": "PCP Broker Reliability", "estimate": "PT0S", "externalId": "31941", "fixedVersions": [], "id": "31941", "issueType": "Improvement", "key": "PCP-500", "labels": [], "originalEstimate": "PT0S", "parent": "31934", "parentSummary": "PCP Broker Reliability", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-08-02T17:27:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Improve specs regarding broker operation during Session Association", "timeSpent": "PT0S", "updated": "2016-08-02T17:27:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "validated via failover test in related ticket, and pcp-test.", "created": "2016-07-18T16:27:00.000000"}], "components": ["cpp-pcp-client"], "created": "2016-07-15T13:13:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Can complete PCP-457."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@482f877"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-404"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Highest Test Level", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Unit"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz7kyn:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "prevent configuration that stops pong timeouts (longer than connection check time), as this blocks failover"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Broke previous work for pxp-agent failover"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Jul/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_5044675_*|*_1_*:*_1_*:*_4793_*|*_10007_*:*_1_*:*_5113574_*|*_3_*:*_1_*:*_252627_*|*_5_*:*_1_*:*_2053499595_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_260650018"}], "description": "When the pong timeout is longer than connection check time, sending another ping seems to reset the timeout. We should prevent configuration that stops pong timeouts, as this blocks failover.", "epicLinkSummary": "Enable agent-side broker failover in PXP Agent", "estimate": "PT0S", "externalId": "32318", "fixedVersions": ["cpp-pcp-client 1.2.0"], "id": "32318", "issueType": "Bug", "key": "PCP-499", "labels": [], "originalEstimate": "PT0S", "parent": "31609", "parentSummary": "Enable agent-side broker failover in PXP Agent", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-07-18T16:31:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent pong timeout never triggered if connection check time is shorter", "timeSpent": "PT0S", "updated": "2016-08-11T10:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pxp-agent package", "QA"], "created": "2016-07-15T09:16:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2d398156"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz7kmf:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}], "description": "Beaker 2.47 onwards features an in-parallel option when using _on hosts f_ statements, to run the command on each host in parallel\n\nThis might give measurable time improvements for the pxp-agent acceptance suite. In particular, where we perform ntp timesync on both nodes, and where we install puppet-agent on both nodes\nThere may be other points in the suite where it can be used\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32097", "fixedVersions": [], "id": "32097", "issueType": "Task", "key": "PCP-497", "labels": ["maintenance"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Update pxp-agent acceptance to use beaker in-parallel", "timeSpent": "PT0S", "updated": "2017-03-06T11:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [], "components": ["pcp-broker"], "created": "2016-07-14T17:23:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5c91a3cc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-435"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz7kin:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Issue related to large inventory responses (PCP-480)"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_422315_*|*_1_*:*_1_*:*_4600_*|*_10007_*:*_1_*:*_77398251_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_222400117"}], "description": "Very large inventory responses can cause the message to expire before sending due to time spent serializing json.", "epicLinkSummary": "PCP Broker Reliability", "estimate": "PT0S", "externalId": "32025", "fixedVersions": ["pcp-broker 0.7.1"], "id": "32025", "issueType": "Bug", "key": "PCP-496", "labels": [], "originalEstimate": "PT0S", "parent": "31934", "parentSummary": "PCP Broker Reliability", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-07-18T04:47:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Inventory response expires before sending when very large", "timeSpent": "PT0S", "updated": "2016-07-28T08:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "557058:afa80a20-2814-4f2f-bbdd-ad5db4190123", "created": "2016-07-13T17:50:00.000000", "name": "node0.puppet.vm.json", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12341"}], "comments": [{"author": "557058:afa80a20-2814-4f2f-bbdd-ad5db4190123", "body": "Attached is a catalog that has UTF8 Character to generate the error. Alternatively you could just use this module: https://github.com/beergeek/utf_8 Which is where that catalog is coming from", "created": "2016-07-13T17:51:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Can be accomplished simply with a\n{code}\nnotify {\"\u2603\":}\n{code}\n\nIt can probably be fixed using http://ruby-doc.org/core-2.1.9/Regexp.html#class-Regexp-label-Encoding to specify UTF-8 encoding.", "created": "2016-07-13T18:24:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This is the result of several issues: pxp-agent uses Leatherman.execution to run the module, which overrides LANG and LC_ALL to C. Then pxp-module-puppet invokes Puppet::Util::Execution.execute, which also does the same by default (can be overridden with {{override_locale => false}}). It may also be necessary to put {{# encoding: UTF-8}} at the top of the script.", "created": "2016-07-15T18:10:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "validated by acceptance change in the PR", "created": "2016-08-04T11:11:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "The new non-ASCII test failed on cisco, cumulus, and SLES systems. I'm tempted to ticket that as a new related ticket, with narrower scope. We should update this ticket with known issues on those platforms.\n\nThe SLES errors might actually be a service configuration issue", "created": "2016-08-04T12:24:00.000000"}], "components": ["pxp-agent"], "created": "2016-07-13T17:48:00.000000", "creator": "557058:afa80a20-2814-4f2f-bbdd-ad5db4190123", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6c8de017"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Highest Test Level", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Acceptance"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyn1pj:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Previously, the pxp-module-puppet could think a puppet run had failed if it had non-ascii characters in its output.\n\nKnown issue: if the pxp-agent service runs with a C or POSIX locale, it will still encounter this error."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Jul/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_85933143_*|*_1_*:*_1_*:*_1107191_*|*_10007_*:*_1_*:*_500576402_*|*_3_*:*_1_*:*_6092361_*|*_5_*:*_1_*:*_603892235_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_83105631_*|*_10006_*:*_1_*:*_1198930533_*|*_10005_*:*_1_*:*_1221870"}], "description": "When the pxp-module-puppet has triggered a Puppet run it tries to parse the output through a number of regexes. If the output of the Puppet run contains any non-ASCII characters those regexes will throw an unhandled exception and make PXP think that the runs has failed, one such example is at {{/opt/puppetlabs/pxp-agent/modules/pxp-module-puppet:60}}\n\nIt will also fail to write the stdout locally and therefore the error given on the master when running {{puppet job run}} will be:\n\n{code}\nERROR puppetlabs.pxp_agent.request_processor:142 - The task executed for the non blocking 'pxp-module-puppet run' request (transaction 32ab9e4b-e464-490c-8c59-935a1ef11f6d) returned no results on stdout - stderr: (empty)\n{code} \n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31940", "fixedVersions": ["pxp-agent 1.2.0"], "id": "31940", "issueType": "Bug", "key": "PCP-494", "labels": ["i18n", "utf-8"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:afa80a20-2814-4f2f-bbdd-ad5db4190123", "resolution": "Fixed", "resolutionDate": "2016-08-04T11:11:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-module-puppet fails if there are any non-ASCII characters in stdout", "timeSpent": "PT0S", "updated": "2016-09-30T15:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This looks to be a slightly different error than initially suggested. Modules return stdout/stderr, which execution is trying to report on to be helpful. However, when the module itself throws an exception, it appears we don't catch that and report it.\n\nThat output appears to be available via debug logging: https://github.com/puppetlabs/pxp-agent/blob/master/lib/src/external_module.cc#L172-L174\n\nUpdate: nvm, https://github.com/puppetlabs/pxp-agent/blob/master/lib/src/module.cc#L50 looks wrong.", "created": "2016-07-13T17:28:00.000000"}], "components": ["pxp-agent"], "created": "2016-07-13T17:18:00.000000", "creator": "6361cbfc59c794184bcbd33a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@28d5fbf0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Highest Test Level", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Unit"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz7jwn:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Came up testing Orchestrator, I had context and 30 minutes"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Jul/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_13295612_*|*_1_*:*_1_*:*_3278604_*|*_10007_*:*_1_*:*_33942431_*|*_3_*:*_1_*:*_984658_*|*_5_*:*_1_*:*_2317870260_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_28050544_*|*_10006_*:*_1_*:*_84440321_*|*_10005_*:*_1_*:*_817848"}], "description": "If the output of running an action is empty (due to an error), pxp-agent tries to report the stderr instead. However, it actually reads from stdout again, causing the error reported to be empty.\n\nThis behavior can be seen when pxp-module-puppet fails due to PCP-494.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31939", "fixedVersions": ["pxp-agent 1.2.0"], "id": "31939", "issueType": "Bug", "key": "PCP-493", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "6361cbfc59c794184bcbd33a", "resolution": "Fixed", "resolutionDate": "2016-07-15T15:05:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent ignores stderr output when stdout is empty", "timeSpent": "PT0S", "updated": "2016-08-11T10:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "attachments": [], "comments": [], "components": [], "created": "2016-07-13T17:08:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6c44859c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyn2zr:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Required for PCP-480 in clj-pxp-puppet"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "0.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_76821495_*|*_3_*:*_1_*:*_2003039_*|*_5_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31754", "fixedVersions": ["clj-pcp-client 0.3.1"], "id": "31754", "issueType": "Task", "key": "PCP-492", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Done", "resolutionDate": "2016-07-14T15:01:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Release clj-pcp-client 0.3.1", "timeSpent": "PT0S", "updated": "2016-07-14T15:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pcp-broker"], "created": "2016-07-13T16:32:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Large PCP messages can be sent to the broker."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4be51e32"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3hj:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Will be covered by CHANGELOG, shouldn't be user-facing in Hoyt."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/May/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_1883938253_*|*_1_*:*_1_*:*_158565_*|*_10007_*:*_1_*:*_177289067_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_9919_*|*_10005_*:*_1_*:*_34991206995"}], "description": "Clients could potentially send large messages to the PCP broker. PCP messages have a protocol-defined limit of 2GB, which is well above the default size for Jetty WebSocket messages.\n\nNote that we don't currently have use-cases where we expect to send messages that large. Given that the protocol defines a 2GB limit, we could avoid configuration and make that the limit. Some limitation is useful to avoid DoS via large messages, but since authentication is required to initialize a WebSocket connection that would be a limited issue; a similar attack could be performed via lots of small messages.\n\nConsider making the batch size introduced in PCP-474 configurable as well, as it could be scaled relative to how clj-pxp-puppet and pcp-broker are configured.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31705", "fixedVersions": ["pcp-broker 1.4.2"], "id": "31705", "issueType": "Improvement", "key": "PCP-491", "labels": ["maintenance"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-09-15T12:55:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Make max binary message size configurable on the broker", "timeSpent": "PT0S", "updated": "2019-05-21T17:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "[~accountid:557058:29f801b5-e0f5-4278-a19b-0e5101f2094d] [~accountid:63d4062f69c7ae3958d276ed]", "created": "2016-07-13T09:50:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Already fixed in PCP-342, released in clj-pxp-puppet 0.1.2.", "created": "2016-07-13T18:11:00.000000"}], "components": ["clj-pxp-puppet"], "created": "2016-07-13T09:49:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Should be able to get {{transaction_uuid}} if the Puppet run errors."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6927effe"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz3607:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_26457637_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_3637515"}], "description": "When a run fails, Orchestration expects to be able to get a {{transaction_uuid}} if Puppet run finished but reported an error. Investigate how Orchestration is expecting to get the {{transaction_uuid}} (maybe {{failure-fn}}), and ensure {{transaction_uuid}} is available on failure.\n\nThis is needed to be able to provide a link to a failure report.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31702", "fixedVersions": [], "id": "31702", "issueType": "Bug", "key": "PCP-490", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Duplicate", "resolutionDate": "2016-07-13T18:11:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "run-agent on failure doesn't report transaction_uuid", "timeSpent": "PT0S", "updated": "2016-07-13T18:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pcp-broker"], "created": "2016-07-12T16:01:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "inventory_response and associate_response messages should skip authorization, other behavior should be unchanged."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6efe9a46"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-435"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyn1qn:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Cleanup related to PCP-384 and 385"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_702835_*|*_1_*:*_1_*:*_3616_*|*_10007_*:*_1_*:*_20974471_*|*_3_*:*_1_*:*_1775266368_*|*_5_*:*_1_*:*_454571478_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_172655049"}], "description": "The PCP broker checks authorization on all messages before scheduling them for delivery. This adds unnecessary checks when sending messages from the server (which should always be authorized), and complicates logic elsewhere. We should only check authorization for incoming messages, which can be consolidated to the {{on-message!}} handler.", "epicLinkSummary": "PCP Broker Reliability", "estimate": "PT0S", "externalId": "32163", "fixedVersions": ["pcp-broker 0.8.0"], "id": "32163", "issueType": "Task", "key": "PCP-489", "labels": [], "originalEstimate": "PT0S", "parent": "31934", "parentSummary": "PCP Broker Reliability", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-08-04T11:07:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Only check authorization on incoming messages", "timeSpent": "PT0S", "updated": "2016-08-09T17:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["clj-pcp-client", "clj-pxp-puppet"], "created": "2016-07-12T03:59:00.000000", "creator": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4e193e3d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-435"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyn2yv:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_6177894_*|*_1_*:*_1_*:*_87946677_*|*_10007_*:*_1_*:*_19531_*|*_10009_*:*_1_*:*_29435748_*|*_5_*:*_1_*:*_952060237_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_70272336_*|*_10006_*:*_1_*:*_18719227"}], "description": "This is a follow up to PCP-467 to disable the prismatic schema checks in the other two clojure projects PCP team maintains.", "epicLinkSummary": "PCP Broker Reliability", "estimate": "PT0S", "externalId": "32317", "fixedVersions": ["clj-pcp-client 0.3.1", "clj-pxp-puppet 0.2.0"], "id": "32317", "issueType": "Improvement", "key": "PCP-488", "labels": [], "originalEstimate": "PT0S", "parent": "31934", "parentSummary": "PCP Broker Reliability", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "resolution": "Done", "resolutionDate": "2016-07-25T15:29:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Disable schema checks by default in clj-pcp-client & clj-pxp-puppet", "timeSpent": "PT0S", "updated": "2016-07-25T15:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "Although PCP-467 disabled prismatic schema checking for the production environment, it actually enabled more extensive checking for tests (since schema checking is now enabled globally during the pcp-broker test execution, it is now being checked even for code outside of the pcp-broker). This causes the tests to run slower and sometimes hit the PCP message expiry limit especially on slower hardware. To avoid that we raise the expiry limit in the associated PR.\nNote that the error level log message included in the description is known to happen during certain tests (it-expects-ssl-client-auth-test, it-closes-connections-when-not-running-test) and the tests do take the eventuality into account.", "created": "2016-07-12T06:38:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Reopened as the problem was not solved:\n - https://jenkins.puppetlabs.com/job/platform_pcp-broker_unit-clj_master/43/JDK=openjdk7,label=unit/console\n - https://jenkins.puppetlabs.com/job/platform_pcp-broker_unit-clj_master/42/JDK=openjdk7,label=unit/console", "created": "2016-07-22T04:55:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "The underlying problem of the recent failures is again the same: the tests execute so slowly on the CI infrastructure that they start to hit timeouts defined for sending/receiving of the messages exchanged during the tests. Although the previous PRs were addressing that by raising the timeouts, there were still places where the short timeouts remained. Oftentimes those places were in the code bing tested rather than in the testing code. Worse yet the timeouts were hardcoded there. The solution implement in the latest PR is to redefine the {{(puppetlabs.pcp.message/set-expiry )}} function (which is used to set the expiry timeout on all messages sent through PCP) such that the timeout specified is multiplied by a factor of 60. That way expiry timeouts on all PCP messages are raised substantially.\nThat left us with only a couple of tests failing, and those were due to too short timeout on the receiving ends. Raising those (actually on one place) got us almost there except for one test - {{it-closes-connections-when-not-running-test}} - which again was due to a short timeout on the receiving end but which required a slightly more extensive redesign.", "created": "2016-07-22T14:19:00.000000"}], "components": ["pcp-broker"], "created": "2016-07-12T03:50:00.000000", "creator": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5e4ffc1f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz7hdr:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Prevent CI failures."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "4.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/Jul/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_3241945_*|*_1_*:*_2_*:*_3074703_*|*_10007_*:*_2_*:*_6245043_*|*_3_*:*_1_*:*_36196400_*|*_10009_*:*_1_*:*_34488960_*|*_5_*:*_2_*:*_826507302_*|*_10011_*:*_2_*:*_253938548"}], "description": "After the changes brought in by PCP-467 we occasionally see failures in CI.\nFor instance here: https://jenkins.puppetlabs.com/job/platform_pcp-broker_unit-clj_master/JDK=openjdk7,label=unit/34/console\n\nIf the link disappears, here are some excerpts:\n{code}\n02:00:24 FAIL in (interversion-send-test) (client.clj:69)\n02:00:24 with sender-version: \"v1.0\", receiver-version: \"v1.0\"\n02:00:24 expected: (= \"http://puppetlabs.com/associate_response\" (:message_type response))\n02:00:24   actual: (not (= \"http://puppetlabs.com/associate_response\" \"http://puppetlabs.com/ttl_expired\"))\n\n...\n\n02:02:08 2016-07-07 02:02:08,131 ERROR [c.n.h.c.p.n.NettyAsyncHttpProvider] Invalid attachment NettyResponseFuture{currentRetry=5,\n02:02:08 \tisDone=true,\n02:02:08 \tisCancelled=false,\n02:02:08 \tasyncHandler=com.ning.http.client.websocket.WebSocketUpgradeHandler@6c7d0f29,\n02:02:08 \trequestTimeoutInMs=60000,\n02:02:08 \tnettyRequest=DefaultHttpRequest(chunked: false)\n02:02:08 GET /pcp/vNext HTTP/1.1\n02:02:08 Upgrade: WebSocket\n02:02:08 Connection: Upgrade\n02:02:08 Origin: http://127.0.0.1:8143\n02:02:08 Sec-WebSocket-Key: 7Jyp+bqL9bGRboZu/ed6lw==\n02:02:08 Sec-WebSocket-Version: 13\n02:02:08 Host: 127.0.0.1:8143\n02:02:08 Accept: */*\n02:02:08 User-Agent: http.async.client,\n02:02:08 \tcontent=NettyWebSocket{channel=[id: 0x71ccc384, /127.0.0.1:58540 => /127.0.0.1:8143]},\n02:02:08 \turi=wss://127.0.0.1:8143/pcp/vNext,\n02:02:08 \tkeepAlive=true,\n02:02:08 \thttpResponse=DefaultHttpResponse(chunked: false)\n02:02:08 HTTP/1.1 101 Switching Protocols\n02:02:08 Date: Thu, 07 Jul 2016 09:02:08 GMT\n02:02:08 Connection: Upgrade\n02:02:08 Sec-WebSocket-Accept: Y+EPKiNZVm0XB57IOtzWqVb4GD0=\n02:02:08 Upgrade: WebSocket,\n02:02:08 \texEx=null,\n02:02:08 \tredirectCount=0,\n02:02:08 \ttimeoutsHolder=null,\n02:02:08 \tinAuth=false,\n02:02:08 \tstatusReceived=false,\n02:02:08 \ttouch=11947653774}\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32096", "fixedVersions": ["pcp-broker 0.7.3"], "id": "32096", "issueType": "Bug", "key": "PCP-487", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "resolution": "Fixed", "resolutionDate": "2016-07-25T15:05:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Investigate CI failures we see after PCP-467", "timeSpent": "PT0S", "updated": "2017-06-01T10:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "[~accountid:557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b] this is another piece that might improve PCP-394. It's not clear they have the same circumstances though.", "created": "2016-07-07T10:57:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "validated on redhat7 at puppet-agent master SHA: 02e680db7ce02a82012ed2b9e0c44b91de62a180\nwith a query to inventory_request like:\n{code}\n160   query = []\n161   for i in 1..999\n162     query << \"pcp://agent#{i}/agent\"\n163   end\n164   message.data = {\n165     #:query => [\"pcp://#{agents[0]}/agent\"]\n166     :query => query\n167   }.to_json\n{code}\n{code}\n#query for 1 or 1000 nodes both took:\nBeaker completed successfully, thanks.\n\nreal    0m2.331s\nuser    0m1.255s\nsys     0m0.175s\n{code}\n\nanything much larger hits the binary message size limit", "created": "2016-07-12T15:43:00.000000"}], "components": ["pcp-broker"], "created": "2016-07-07T10:34:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@58ae3961"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-435"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz7epz:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": " inventory responses for multiple query patterns is no longer as slow"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Performance issues related to PCP-474"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Jul/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_84350969_*|*_1_*:*_1_*:*_4173_*|*_10007_*:*_1_*:*_3854466_*|*_3_*:*_1_*:*_902690_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_361560379"}], "description": "Gathering inventory responses for multiple query patterns is slow; for 1000 nodes queried by name, the response took ~5 seconds, and expired before being sent:\n{code}\n2016-07-07 09:43:30,360 DEBUG [qtp99741736-76] [p.p.b.core] client pxp-puppet.example.com connected from /127.0.0.1:57109\n2016-07-07 09:43:30,364 TRACE [qtp99741736-102] [p.p.b.core] Message 79a2f4fb-e32e-4405-8585-bf52cd5bfaa4 for [\"pcp:///server\"] from pxp-puppet.example.com /127.0.0.1:57109\n2016-07-07 09:43:30,392 TRACE [qtp99741736-93] [p.p.b.core] Message 50909325-6b75-41b1-a8c9-a11045dd5c4c for [\"pcp:///server\"] from pxp-puppet.example.com /127.0.0.1:57109\n2016-07-07 09:43:35,693 TRACE [qtp99741736-93] [p.p.b.core] Authorizing 54937edd-ed63-4fad-a4ea-955866db2f9e for [\"pcp://pxp-puppet.example.com/puppet-api-test\"] - true: allow-unauthenticated is true - allowed\n2016-07-07 09:43:35,694 TRACE [qtp99741736-93] [p.p.b.activemq] Delivering message 54937edd-ed63-4fad-a4ea-955866db2f9e for [\"pcp://pxp-puppet.example.com/puppet-api-test\"] to accept queue\n2016-07-07 09:43:35,694 INFO  [qtp99741736-93] [o.s.j.c.CachingConnectionFactory] Established shared JMS Connection: ActiveMQConnection {id=ID:Michaels-MacBook-Pro.local-55741-1467909580932-53:1,clientId=null,started=false}\n2016-07-07 09:43:35,701 TRACE [DefaultMessageListenerContainer-1] [p.p.b.activemq] Consuming message 54937edd-ed63-4fad-a4ea-955866db2f9e for [\"pcp://pxp-puppet.example.com/puppet-api-test\"] from accept\n2016-07-07 09:43:35,701 TRACE [DefaultMessageListenerContainer-1] [p.p.b.activemq] Delivering message 54937edd-ed63-4fad-a4ea-955866db2f9e for pcp://pxp-puppet.example.com/puppet-api-test to delivery queue\n2016-07-07 09:43:35,702 INFO  [DefaultMessageListenerContainer-1] [o.s.j.c.CachingConnectionFactory] Established shared JMS Connection: ActiveMQConnection {id=ID:Michaels-MacBook-Pro.local-55741-1467909580932-55:1,clientId=null,started=false}\n2016-07-07 09:43:35,707 TRACE [DefaultMessageListenerContainer-1] [p.p.b.activemq] Consuming message 54937edd-ed63-4fad-a4ea-955866db2f9e for pcp://pxp-puppet.example.com/puppet-api-test from delivery\n2016-07-07 09:43:35,710 TRACE [DefaultMessageListenerContainer-1] [p.p.b.core] Message 54937edd-ed63-4fad-a4ea-955866db2f9e for pcp://pxp-puppet.example.com/puppet-api-test has expired. Sending a ttl_expired.\n2016-07-07 09:43:35,710 TRACE [DefaultMessageListenerContainer-1] [p.p.b.core] Server generated message expired.  Dropping\n{code}", "epicLinkSummary": "PCP Broker Reliability", "estimate": "PT0S", "externalId": "32095", "fixedVersions": ["pcp-broker 0.7.1"], "id": "32095", "issueType": "Bug", "key": "PCP-485", "labels": [], "originalEstimate": "PT0S", "parent": "31934", "parentSummary": "PCP Broker Reliability", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-07-12T15:45:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Broker inventory responses to large queries are slow, responses expire", "timeSpent": "PT0S", "updated": "2016-07-12T15:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["clj-pcp-common"], "created": "2016-07-06T11:09:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Confirm that queries are correctly validated in PCP-474."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@10fdf36d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-435"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz7dx3:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "No user-facing change."}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Needed for PCP-474."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "07/Jul/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_25519975_*|*_1_*:*_1_*:*_212605_*|*_10007_*:*_1_*:*_56308608_*|*_10009_*:*_1_*:*_452584494_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_62167635"}], "description": "According to https://github.com/puppetlabs/pcp-specifications/blob/master/pcp/versions/1.0/inventory.md, the InventoryRequest expects query to be an array of strings matching the PCP URI pattern. However, https://github.com/puppetlabs/clj-pcp-common/blob/0.5.0/src/puppetlabs/pcp/protocol.clj#L38-L40 only expects the schema to match any string.\n\nCurrently clj-pxp-puppet is the only Clojure client using inventory_request, and hard-codes the query. However, in PCP-474 the intent is to change that query to be user-facing. With that change, clj-pxp-puppet is not correctly validating the InventoryRequest, which results in a schema failure in the pcp-broker. Fix the schema for InventoryRequest.", "epicLinkSummary": "PCP Broker Reliability", "estimate": "PT0S", "externalId": "31857", "fixedVersions": ["clj-pcp-common 0.5.1"], "id": "31857", "issueType": "Bug", "key": "PCP-483", "labels": [], "originalEstimate": "PT0S", "parent": "31934", "parentSummary": "PCP Broker Reliability", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-07-13T08:56:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "InventoryRequest Schema too broad", "timeSpent": "PT0S", "updated": "2016-07-13T08:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["cpp-pcp-client"], "created": "2016-07-06T09:20:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Documentation update, tutorials should build. On Mac that's done via\n{code}\ng++ main.cpp -std=c++11 -lcpp-pcp-client -lboost_system -DPROJECT_DIR=\\\".\\\"\n{code}"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@26c23111"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-404"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz610f:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Extra time"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_197912657_*|*_10007_*:*_1_*:*_138322742_*|*_5_*:*_1_*:*_2661861299_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_118068809"}], "description": "Update code tutorial in cpp-pcp-client to show use with multiple brokers.", "epicLinkSummary": "Enable agent-side broker failover in PXP Agent", "estimate": "PT0S", "externalId": "31938", "fixedVersions": ["cpp-pcp-client 1.2.0"], "id": "31938", "issueType": "Improvement", "key": "PCP-482", "labels": [], "originalEstimate": "PT0S", "parent": "31609", "parentSummary": "Enable agent-side broker failover in PXP Agent", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-07-11T15:32:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Update examples with list of multiple brokers", "timeSpent": "PT0S", "updated": "2016-10-12T14:16:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pxp-agent package", "QA"], "created": "2016-07-06T06:56:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@207c2caa"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3sv:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}], "description": "The pre-suite step [005_SyncTime.rb|https://github.com/puppetlabs/pxp-agent/blob/master/acceptance/setup/common/005_SyncTime.rb] calls beaker's helper method to sync system clocks on each host\n\nBeaker will do this automatically if the host config includes the key :timesync\n\nacceptance/Rakefile should specify :timesync as a host option and then acceptance/setup/common/005_SyncTime.rb can be deleted\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31522", "fixedVersions": [], "id": "31522", "issueType": "Task", "key": "PCP-481", "labels": ["maintenance"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Acceptance - remove 005_SyncTime.rb pre-suite step", "timeSpent": "PT0S", "updated": "2017-03-06T12:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I'm somewhat inclined to leave this client-side only. The implementation of {{get-connected-agents}} takes care of avoiding the max message size on the broker, and I don't have a good use-case where you'd need to change the configuration on the broker.\n\nI'm going to ticket that separately, and we can decide whether it needs to be done later.", "created": "2016-07-13T16:24:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "see related for possible reproduction/test case.", "created": "2016-07-13T17:21:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "validated on rhel7 at puppet-agent master SHA: \nwith size set to 132KB:\n{code}\n2016-07-18 14:58:36,705 DEBUG [qtp1193134902-20] [p.p.b.core] client erict.slice.puppetlabs.net disconnected from /10.32.163.206:56844 1009 Binary message size [199150] exceeds maximum size [131072]\n{code}", "created": "2016-07-18T16:23:00.000000"}], "components": ["clj-pcp-client", "clj-pxp-puppet", "ruby-pcp-client"], "created": "2016-07-05T17:32:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "* Messages larger than 64KB should be able to be received by the client.\n* maximum size that can be configured is 2gb\n* in ruby client, broker"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@27b7d061"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-435"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyn2zj:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Max message size is now configurable, so clients can determine how large a message they'd like to handle (instead of the 64KB default)."}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Spare bandwidth"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Jul/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_23369014_*|*_1_*:*_1_*:*_69046_*|*_10007_*:*_1_*:*_146332439_*|*_3_*:*_1_*:*_179311598_*|*_5_*:*_1_*:*_601475761_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_260265558_*|*_10006_*:*_1_*:*_509801084"}], "description": "In PCP version 1,  responses (such as {{inventory_response}}) can exceed the default max message size in WebSockets (64KB), resulting in messages like\n{code}\n2016-06-24 20:59:29,056 WARN  [o.e.j.w.c.Parser]\norg.eclipse.jetty.websocket.api.MessageTooLargeException: Binary message size [946371] exceeds maximum size [65536]\n{code}\n\nMake the max message size configurable, so clients and the broker can determine how large a message they'd like to handle.", "epicLinkSummary": "PCP Broker Reliability", "estimate": "PT0S", "externalId": "32094", "fixedVersions": ["clj-pcp-client 0.3.1", "clj-pxp-puppet 0.2.0"], "id": "32094", "issueType": "Improvement", "key": "PCP-480", "labels": [], "originalEstimate": "PT0S", "parent": "31934", "parentSummary": "PCP Broker Reliability", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Done", "resolutionDate": "2016-07-25T15:29:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Make max binary message size configurable in clients", "timeSpent": "PT0S", "updated": "2019-05-21T17:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "attachments": [], "comments": [], "components": ["pxp-agent package"], "created": "2016-07-05T12:40:00.000000", "creator": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": ["Platforms"]}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@21cfa130"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz7d3j:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Pulled forward to unblock another ticket"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Release Engineering"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_71286912_*|*_1_*:*_1_*:*_5959_*|*_10007_*:*_1_*:*_7577509_*|*_5_*:*_1_*:*_3111715943_*|*_6_*:*_1_*:*_0"}], "description": "Pxp-agent looks for batch files when loading modules on windows platforms. The package ships with the pxp-module-puppet, but on windows platforms we do not install the pxp-module-puppet batch file wrapper and so pxp-agent will fail during puppet runs looking for a batch file that doesn't exist", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31693", "fixedVersions": ["pxp-agent 1.2.0"], "id": "31693", "issueType": "Bug", "key": "PCP-479", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20", "resolution": "Fixed", "resolutionDate": "2016-07-06T10:34:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Windows installations are missing the batch wrapper for pxp-module-puppet", "timeSpent": "PT0S", "updated": "2016-08-11T10:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "To get proper timing results, we must modify cpp-pcp-client's Connection::connectAndWait() check loop and increase its responsiveness.", "created": "2016-06-30T09:09:00.000000"}], "components": ["cpp-pcp-client", "pcp-test"], "created": "2016-06-30T05:53:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Connection Test results provide, for each run, the time for establishing all the requested connections."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@38a11571"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyn4sv:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Needed for current investigation."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_251472208_*|*_1_*:*_1_*:*_12333_*|*_10007_*:*_1_*:*_83308341_*|*_3_*:*_1_*:*_19344861_*|*_5_*:*_1_*:*_3184674163_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_108187824"}], "description": "Add a result metric that measures the total time for establishing all requested connections. ", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32316", "fixedVersions": ["cpp-pcp-client 1.2.0"], "id": "32316", "issueType": "Improvement", "key": "PCP-477", "labels": [], "originalEstimate": "PT0S", "parent": "31796", "parentSummary": "Set up component performance testing for pcp-broker using pcp-test", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-07-05T14:18:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add total connection time as a Connection Test run result", "timeSpent": "PT0S", "updated": "2016-08-11T10:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pcp-test"], "created": "2016-06-28T08:13:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "When a Connection Test is requested, progress information is displayed at each run."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4c0aafaf"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3h3:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_21275092118_*|*_6_*:*_1_*:*_0"}], "description": "Display progress information based on the number of connected clients clients, during the connection phase, and an indication of the start of the disconnection phase.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32022", "fixedVersions": [], "id": "32022", "issueType": "Improvement", "key": "PCP-476", "labels": [], "originalEstimate": "PT0S", "parent": "31796", "parentSummary": "Set up component performance testing for pcp-broker using pcp-test", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Won't Do", "resolutionDate": "2017-03-01T12:58:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Show progress info in pcp-test's Connection Test", "timeSpent": "PT0S", "updated": "2017-03-01T12:58:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pcp-test"], "created": "2016-06-28T08:10:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "When a Connection Test is requested with \"show-stats\" flagged, the WebSocket Close Handshake stats should be provided."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3e53e34c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3hb:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_21275258440_*|*_6_*:*_1_*:*_0"}], "description": "cpp-pcp-client.Connector should allow setting a an onClose callback to do so.\nIn alternative, a synch close() call could be exposed.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31937", "fixedVersions": [], "id": "31937", "issueType": "Improvement", "key": "PCP-475", "labels": [], "originalEstimate": "PT0S", "parent": "31796", "parentSummary": "Set up component performance testing for pcp-broker using pcp-test", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Won't Do", "resolutionDate": "2017-03-01T12:58:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Present WebSocket close handshake stats in pcp-test", "timeSpent": "PT0S", "updated": "2017-03-01T12:58:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:59f72e60-2599-4fa1-a8b1-1d5a9ff792ca", "attachments": [], "comments": [{"author": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "body": "I think we can stop using inventory all together or at least use a per node inventory query if needed.", "created": "2016-07-01T16:30:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I have a couple things I'd like to resolve with this ticket:\n* a way to query for a subset of the inventory", "created": "2016-07-01T17:08:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Tested with clj-pxp-puppet 57259ce and pcp-broker bf939e6\n\nI modified core/process-inventory-message in pcp-broker so that its response is just an echo of the uris that were queried\n\nThen I checked that when querying 100,000 certnames, the collated response from puppetlabs.pxp.puppet/get-connected-agents contains all 100,000:\n\n{code}user=> (= (map #(str \"agentnode\"%\".corp.example.com.net\") (range 1 100001)) (user/test-get-connected-agents (map #(str \"agentnode\"%\".corp.example.com.net\") (range 1 100001))))\ntrue{code}\n\nIn pcp-broker's logging, I can see that the large request from clj-pxp-puppet has been split into many requests to pcp-broker\n\n\n\n", "created": "2016-07-08T07:25:00.000000"}], "components": ["clj-pcp-client"], "created": "2016-06-24T15:36:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7bc09ccb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-435"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz1mtb:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "clj-pxp-puppet changes get-connected-clients to get-connected-agents (to reflect more precisely its behavior), and adds a new call signature that allows specifying a list of queries to forward to the broker. These can be used to query a specific list of nodes, where the connected subset of agents matching those queries will be returned. It batches queries in groups of 200 to avoid message size limits present in pcp-broker and clj-pxp-puppet."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Jun/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_667788_*|*_1_*:*_1_*:*_243214414_*|*_10007_*:*_1_*:*_75140942_*|*_3_*:*_1_*:*_444704220_*|*_10009_*:*_1_*:*_438297323_*|*_5_*:*_1_*:*_1059444919_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_58093936_*|*_10005_*:*_1_*:*_358464738"}], "description": "With 15k connected nodes, requesting inventory results in a failure on the broker:\n{code}\n2016-06-24 20:59:29,056 WARN  [o.e.j.w.c.Parser]\norg.eclipse.jetty.websocket.api.MessageTooLargeException: Binary message size [946371] exceeds maximum size [65536]\n{code}\n\nPCP clients query the PCP broker for a list of all connected nodes. The response is a list of all the connected node certnames. When that response message gets too large (65kb characters seems to be the default limit) it looks like the PCP client rejects the message.\n\nThere are many use-cases where we wish to query whether some nodes are in the inventory. This shouldn't require excessively large messages, or reconfiguring message limits. We should add a way to query whether particular nodes are connected, and when that query would exceed expected message limits we should send multiple requests.\n\nSince we don't know how the broker is configured, limit to batches of 200 certnames in an inventory request based on 200*256 being well below 64KB (the default limit in the PCP broker), and seems reasonably within most use-cases. The URI length limit of 256 comes from http://tools.ietf.org/html/rfc3986\n{quote}\nURI producers should use names that conform to the DNS syntax, even when use of DNS is not immediately apparent, and should limit these names to no more than 255 characters in length.\n{quote}\nIdentifying the exact packet size was going to dig into the PCP layer, i.e. how json is serialized, how chunks are packed, etc. Going with a simple heuristic seems reasonable.\n\nWith PCP-480 we may choose to make that number configurable, as it will make the message size limit on both broker and clients configurable.", "epicLinkSummary": "PCP Broker Reliability", "estimate": "PT0S", "externalId": "32162", "fixedVersions": ["clj-pxp-puppet 0.2.0"], "id": "32162", "issueType": "New Feature", "key": "PCP-474", "labels": ["scale"], "originalEstimate": "PT0S", "parent": "31934", "parentSummary": "PCP Broker Reliability", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Done", "resolutionDate": "2016-07-25T15:29:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Inventory requests can exceed default websocket message size", "timeSpent": "PT0S", "updated": "2017-09-25T10:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "run with ruby-pcp-agent on ubuntu1404 agent against puppet agent SHA: b374eb766b2ce13fcce7c6e98b9294926fd162e6\n{code}\n      responses = rpc_blocking_request(master, target_identities,\n 25                                       'pxp-module-puppet', 'run',\n 26                                       {:env => ['PATH=/nothing_here'], :flags => ['--noop',\n 27                                                               '--onetime',\n 28                                                               '--no-daemonize']\n 29                                       })\n{code}\n\nit runs as:\n{code}\n  * Send an rpc_blocking_request to all agents\n{:envelope=>{:id=>\"053267aa-160c-4886-ae62-0335216bb76f\", :targets=>[\"pcp://erict.slice.puppetlabs.net/ruby-pcp-client-8285\"], :message_type=>\"http://puppetlabs.com/rpc_blocking_response\", :sender=>\"pcp://amfkvh1gf0a1x2f.delivery.puppetlabs.net/agent\", :expires=>\"2016-07-05T23:03:08.623722Z\"}, :data=>{\"transaction_id\"=>\"1706e135-e464-49cc-99fd-87f7e12ccd0c\", \"results\"=>{\"kind\"=>\"apply\", \"time\"=>\"2016-07-05 16:03:02 -0700\", \"transaction_uuid\"=>\"41d5225b-f07a-46c5-b65a-dd4dd80af99b\", \"environment\"=>\"production\", \"status\"=>\"unchanged\", \"exitcode\"=>0, \"version\"=>1}}}\n{code}\n(:env key is now ignored)\n\nagent log sayeth:\n{code}\nJul  5 16:03:03 localhost puppet-agent[2263]: Using configured environment 'production'\nJul  5 16:03:03 localhost puppet-agent[2263]: Retrieving pluginfacts\nJul  5 16:03:03 localhost puppet-agent[2263]: Retrieving plugin\nJul  5 16:03:03 localhost puppet-agent[2263]: Applying configuration version '1467759783'\nJul  5 16:03:03 localhost puppet-agent[2263]: Applied catalog in 0.01 seconds\n{code}", "created": "2016-07-05T17:07:00.000000"}], "components": ["pxp-agent"], "created": "2016-06-23T14:53:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "After requesting a \"pxp-module-puppet run\" action with a given \"env\" argument, Puppet won't be invoked with the specified environment."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@648d3a17"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "CVE-ID", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "CVE-2016-5713"}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyn4t3:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Security Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Ignoring the \"env\" input argument of pxp-module-puppet to prevent overriding critical environment variables."}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "We want to include this in the next puppet-agent release."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Jul/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_17617618_*|*_1_*:*_1_*:*_3288414_*|*_10007_*:*_1_*:*_7246106_*|*_3_*:*_1_*:*_3433875_*|*_5_*:*_1_*:*_3174514497_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_546501024_*|*_10005_*:*_1_*:*_466785261"}], "description": "Don't use the \"env\" array passed as an input argument when invoking Puppet, to prevent overriding critical environment variables (PATH, LD_LIBRARY_PATH), for safety reasons.\n\nNote that removing such argument would create incompatibility problems, as the pxp-module-puppet interface, specified by the `metadata` action, would change.\n\nWe don't currently have a use-case for setting environment. If we have one in the future, the right way to do it would be to add a configurable whitelist of environment variables.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31854", "fixedVersions": ["pxp-agent 1.2.0"], "id": "31854", "issueType": "Improvement", "key": "PCP-472", "labels": [], "originalEstimate": "PT0S", "parent": "31929", "parentSummary": "Remediation steps in response to the PXP Audit", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-07-05T17:08:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Don't use pxp-module-puppet's env input argument when invoking Puppet", "timeSpent": "PT0S", "updated": "2016-08-11T13:07:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Released to https://clojars.org/puppetlabs/pcp-broker/versions/0.6.2.", "created": "2016-06-20T11:54:00.000000"}], "components": [], "created": "2016-06-17T12:03:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@58d83fd7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz60yf:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Split releasing into its own ticket"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "0.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_67779_*|*_3_*:*_1_*:*_1019934_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_257534865"}], "description": "Trigger a release via https://jenkins.puppetlabs.com/job/platform_pcp-broker_release-clj_release-0.6.2/ with {{VERSION_LEVEL=:patch}}.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32315", "fixedVersions": ["pcp-broker 0.6.2"], "id": "32315", "issueType": "Task", "key": "PCP-471", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Done", "resolutionDate": "2016-06-20T11:54:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Release pcp-broker 0.6.2", "timeSpent": "PT0S", "updated": "2016-06-22T08:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Backport prepared at https://github.com/MikaelSmith/pcp-broker/tree/PCP-470.", "created": "2016-06-15T14:17:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "After testing, trigger a release via https://jenkins.puppetlabs.com/job/platform_pcp-broker_release-clj_release-0.6.2/ with {{VERSION_LEVEL=:patch}}.", "created": "2016-06-16T12:53:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "validated at pcp-broker SHA: 3e196c7d532e338a497812d8e4e2b318169b7ab8\n{code}\n[root@pcp-test-client pcp-test]# cat config.json\n{\n    \"logfile\"         : \"logs/pcp-test.log\",\n    \"loglevel\"        : \"trace\",\n    \"client-loglevel\" : \"info\",\n    \"broker-ws-uris\"  : [\n                         \"broker.example.com\"],\n    \"connection-test-parameters\" : {\n        \"num-runs\"                   : 1,\n        \"inter-run-pause-ms\"         : 60000,\n        \"num-endpoints\"              : 400,\n        \"inter-endpoint-pause-ms\"    : 200,\n        \"concurrency\"                : 4,\n        \"endpoints-increment\"        : 100,\n        \"concurrency-increment\"      : 0,\n        \"ws-connection-timeout-ms\"   : 1000,\n        \"association-timeout-s\"      : 10,\n        \"association-request-ttl-s\"  : 10,\n        \"persist-connections\"        : true\n    }\n}\n\n[root@pcp-test-client pcp-test]# LD_LIBRARY_PATH=/opt/pl-build-tools/lib/ release/bin/pcp-test connection --config-file config.json --results-dir results/ --broker-ws-uris wss://broker.example.com:8142/pcp\n\nConnection test setup:\n  4 concurrent sets (+0 per run) of 400 endpoints (+100 per run)\n  1 runs, 60000 ms pause between each run\n  200 ms pause between each endpoint connection\n  WebSocket connection timeout 1000 ms\n  Association timeout 10 s", "created": "2016-06-17T10:50:00.000000"}], "components": [], "created": "2016-06-15T14:03:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@46ee38cf"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Highest Test Level", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Acceptance"}, {"fieldName": "QA Highest Test Level Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "pcp-test"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz70xz:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "performance fix for pcp-broker when multiple clients disconnect at once"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Significant issue during scale testing"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/Jun/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_15942_*|*_10007_*:*_1_*:*_69243209_*|*_10009_*:*_1_*:*_3094822_*|*_5_*:*_2_*:*_260375291_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_79767376_*|*_10006_*:*_1_*:*_12753496"}], "description": "This was found to be a significant issue during scale testing. PE 2016.2 will be based off pcp-broker 0.6.1, so this should be back-ported for a 0.6.2 release so it can go out as a bug fix in 2016.2.1.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31692", "fixedVersions": ["pcp-broker 0.6.2"], "id": "31692", "issueType": "Bug", "key": "PCP-470", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-06-17T12:01:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Backport pcp-broker thread-contention fix (PCP-448)", "timeSpent": "PT0S", "updated": "2016-06-22T17:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2016-06-15T11:33:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1ad6f33f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzb633:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Hidden option for developer use, not intended for broad audience."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_7927753_*|*_1_*:*_1_*:*_1808756108_*|*_10007_*:*_1_*:*_421016746_*|*_3_*:*_1_*:*_761650_*|*_10009_*:*_1_*:*_44564_*|*_5_*:*_1_*:*_1878732798_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_12893879991_*|*_10005_*:*_1_*:*_3022104594"}], "description": "Add a hidden configuration option to set Monitoring Thread's connection_check_interval_s parameter. This allows us to tweak ping periods to allow the broker to handle more active connections.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32093", "fixedVersions": ["pxp-agent 1.4.0"], "id": "32093", "issueType": "Improvement", "key": "PCP-469", "labels": ["maintenance"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-02-02T07:20:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add hidden option for configuring ping periods in pxp-agent", "timeSpent": "PT0S", "updated": "2017-02-02T07:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pcp-test"], "created": "2016-06-15T11:26:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@32672c0d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz60z3:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Needed for ongoing testing activity."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_70794922_*|*_1_*:*_1_*:*_168754063_*|*_10007_*:*_1_*:*_8033356_*|*_3_*:*_1_*:*_269777249_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_184410577"}], "description": "Add a configuration option to set Monitoring Thread's connection_check_interval_s parameter.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31852", "fixedVersions": [], "id": "31852", "issueType": "Improvement", "key": "PCP-468", "labels": [], "originalEstimate": "PT0S", "parent": "31796", "parentSummary": "Set up component performance testing for pcp-broker using pcp-test", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-06-23T14:22:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Configure ping periods in pcp-test's Connection Test", "timeSpent": "PT0S", "updated": "2016-06-23T14:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "[~accountid:557058:093475a3-6bc8-4a70-8034-ae5a2ea66512] still planning to put up a PR for clj-pcp-common?", "created": "2016-07-01T14:44:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "[~accountid:623c0c6f94742a00683e3e63] Yes, I moved the ticket back to doing.", "created": "2016-07-01T15:14:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "[~accountid:557058:093475a3-6bc8-4a70-8034-ae5a2ea66512] is the other ticket the ci blocker?", "created": "2016-07-07T09:20:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "[~accountid:557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715] I created a ticket today - PCP-487 - dealing with the CI failures we've been seeing since merging the PR associated with this ticket.", "created": "2016-07-12T16:19:00.000000"}], "components": ["clj-pcp-common", "pcp-broker"], "created": "2016-06-15T10:05:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4025d746"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-435"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz60zz:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Prismatic Schema checks on functions in pcp-broker and clj-pcp-common are now disabled, in production, to avoid their overhead.\n"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "01/Jul/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_443200666_*|*_1_*:*_1_*:*_1209044784_*|*_10007_*:*_2_*:*_112053641_*|*_3_*:*_2_*:*_351071700_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_2_*:*_170761823_*|*_10006_*:*_1_*:*_64711481"}], "description": "Prismatic Schema checks on functions in pcp-broker and clj-pcp-common should be disabled when we ship (in production) to avoid their overhead.", "epicLinkSummary": "PCP Broker Reliability", "estimate": "PT0S", "externalId": "31814", "fixedVersions": ["clj-pcp-common 0.5.1", "pcp-broker 0.7.1"], "id": "31814", "issueType": "Improvement", "key": "PCP-467", "labels": [], "originalEstimate": "PT0S", "parent": "31934", "parentSummary": "PCP Broker Reliability", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-07-12T15:05:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Disable Prismatic Schema checks on functions for production", "timeSpent": "PT0S", "updated": "2016-08-03T11:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "The Connection Test performance seems to be capped by the number of threads created by cpp-pcp-client  Connector instances (one per client). Thus using a fiber approach in pcp-test won't improve performance. Also, we cannot benefit from Boost.couroutines as they don't cope with a multi-thread scenario.\n\nAs a consequence, this ticket does not block PCP-413 anymore.\n\nTo reduce the number of thread by half, I'll evaluate implementing directly in pcp-test the monitoring thread that sends WebSocket pings.", "created": "2016-06-27T11:00:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "https://github.com/puppetlabs/pcp-test/pull/19\n", "created": "2016-06-28T09:06:00.000000"}], "components": ["pcp-test"], "created": "2016-06-15T08:45:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7f1b9de5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz60zb:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "5.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_3007_*|*_1_*:*_1_*:*_2305685_*|*_10007_*:*_1_*:*_29667968_*|*_3_*:*_1_*:*_527657707_*|*_5_*:*_1_*:*_3776137885_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_2436444_*|*_10006_*:*_1_*:*_594454540"}], "description": "Evaluate and improve performance, following the investigation done for PCP-462.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31699", "fixedVersions": ["cpp-pcp-client 1.2.0"], "id": "31699", "issueType": "Improvement", "key": "PCP-466", "labels": [], "originalEstimate": "PT0S", "parent": "31796", "parentSummary": "Set up component performance testing for pcp-broker using pcp-test", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-06-28T18:00:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Consider improving pcp-test's Connection Test performance", "timeSpent": "PT0S", "updated": "2016-08-11T10:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "attachments": [], "comments": [], "components": ["clj-pxp-puppet"], "created": "2016-06-14T11:53:00.000000", "creator": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7c414f7f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz60yn:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_11268266_*|*_1_*:*_1_*:*_10298_*|*_3_*:*_2_*:*_9723824_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_1265731024_*|*_10005_*:*_1_*:*_781142"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31936", "fixedVersions": ["clj-pxp-puppet 0.1.2"], "id": "31936", "issueType": "Task", "key": "PCP-465", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "resolution": "Fixed", "resolutionDate": "2016-06-29T09:32:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Release version 0.1.2 of clj-pxp-puppet", "timeSpent": "PT0S", "updated": "2016-06-29T09:32:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "will there be a way to test this failover to another broker at close of this ticket?", "created": "2016-06-15T17:14:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Hmm, acceptance criteria. This scenario can be triggered in the same manner as PCP-463, so we could use that and then make sure it fails over to another broker. I'm not sure about other ways to artificially trigger an failed Associate Session Response.", "created": "2016-06-15T17:29:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "i think john just found a ticket that seemed reasonable as the \"user story\" for this thing.  we can acceptance criteria that one.  i'll go find it (high risk in this sprint)", "created": "2016-06-15T17:47:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "[~accountid:557058:29f801b5-e0f5-4278-a19b-0e5101f2094d] if the connection is not established after max_connect_attempts - which defaults to unlimited - I don't see why we would want to retry. Failovers would've already been attempted in the {{connect}} method. This is the scenario that triggers a {{connection_fatal_error}}.\n\nFor failed association attempts, I'm not sure how broker failover affects this story. The current scenario where this would be a problem is if tk-auth rules reject the client connecting, and are changed later to allow it - the agent would have to be manually restarted for it to connect. We don't have a failover scenario where the agent would be allowed to connect to one broker but not another broker.", "created": "2016-06-16T16:13:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "I agree that max_connect_attempts is already covering the multi broker case. No need for updating pxp-agent docs.\n\nThe impact of the Association Response failure case was not clear to me, when I ticketed this after our discussion.\nYes, I agree that cpp-pcp-client's implementation should reflect the fact that we don't have a use case where a client is not allowed to connect to a just subset of brokers.\nI think we can close this and, if you agree, add 2 lines to pcp-specifications stating that there should be no failover in that case.\n", "created": "2016-06-17T06:58:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Decided there are no behavior changes needed related to HA failover. We'll note the behavior in PCP-406.", "created": "2016-06-17T10:14:00.000000"}], "components": ["cpp-pcp-client"], "created": "2016-06-10T05:29:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2d70bd3d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-404"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz60xz:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Jun/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_3_*:*_553737535_*|*_3_*:*_4_*:*_4467842_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_60655565_*|*_10006_*:*_3_*:*_3050386"}], "description": "In case of an unsuccessful Associate Session Response or if a connection_fatal_error exception is thrown, the Connector's monitoring task will stop. It should try to connect to a different broker in that case.\n\nAlso, the monitoring task only exposes an argument for setting the maximum number of connection attempts for a given broker. In case of multiple brokers, we should consider setting a limit for the round robin mechanism.", "epicLinkSummary": "Enable agent-side broker failover in PXP Agent", "estimate": "PT0S", "externalId": "32314", "fixedVersions": ["cpp-pcp-client 1.2.0"], "id": "32314", "issueType": "Improvement", "key": "PCP-464", "labels": ["ha-dep"], "originalEstimate": "PT0S", "parent": "31609", "parentSummary": "Enable agent-side broker failover in PXP Agent", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Won't Fix", "resolutionDate": "2016-06-17T10:14:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Update cpp-pcp-client's monitor task to support failover brokers", "timeSpent": "PT0S", "updated": "2016-06-17T10:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "validated with broker on rhel7 at: puppet-agent master\n\nwith cpp-pcp-client at: 52936ae\npcp-test aborts with:\n{code}\nterminate called after throwing an instance of 'PCPClient::connection_fatal_error'\n  what():  failed to establish a WebSocket connection after 1 attempt\nAborted (core dumped)\n{code}\nusing michael's configuration and repro method using two parallel pcp-test runs as above.\nthe other pcp-test instance succeeds with all connections\n\nafter the fix in this ticket, i get warnings on the failed connections:\n{code}\n 2016-06-14 17:29:21.061868 WARN  puppetlabs.cpp_pcp_client.connector:765 - ^[[0", "created": "2016-06-14T17:46:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "From an in-person conversation between [~accountid:557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715] and myself about his observation of test runs that had no failed connections (according to pcp-test) using 18d31c11f0e8186142ae651597e9d62e86c21f51~1 resolved that this was because cpp-pcp-client was silently swallowing the exceptions instead of rethrowing them, which was something https://github.com/puppetlabs/cpp-pcp-client/commit/5ee375033b41613eca94157bbbe3f8697c290695 fixed (part of 18d31c1).\n\nWe verified this by identifying the messages that previously threw exceptions (https://github.com/puppetlabs/cpp-pcp-client/blob/master/lib/src/connector/connector.cc#L821) in the log generated when pcp-test was reporting all connections successful.", "created": "2016-06-14T18:02:00.000000"}], "components": ["cpp-pcp-client", "pcp-test", "pxp-agent"], "created": "2016-06-09T15:57:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@25e0dda"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Highest Test Level", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Acceptance"}, {"fieldName": "QA Highest Test Level Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "but really should be handled in pcp-test runs as in repro comment below"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz6x07:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Issue introduced by startMonitoring/stopMonitoring."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Jun/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_139804654_*|*_1_*:*_1_*:*_5997_*|*_10007_*:*_3_*:*_21586466_*|*_3_*:*_3_*:*_64105510_*|*_5_*:*_1_*:*_4986016710_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_213641164"}], "description": "cpp-pcp-client's {{Connector::startMonitorTask}} is run in a separate thread, triggered by {{startMonitoring}}. The method, and thus the thread, throws exceptions when there's an error that forces the monitoring task to stop. Currently, that causes the process to terminate because the exceptions are uncaught.\n\nInstead, startMonitorTask should register exceptions when it halts so that the calling thread can handle them. As this may result in rethrowing exceptions when stopMonitoring is called, callers that wish to handle those exceptions should explicitly call stopMonitoring rather than relying on the destructor.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31690", "fixedVersions": ["cpp-pcp-client 1.2.0", "pxp-agent 1.2.0"], "id": "31690", "issueType": "Bug", "key": "PCP-463", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-06-14T17:56:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Exceptions thrown from the monitor task in cpp-pcp-client cause std::terminate", "timeSpent": "PT0S", "updated": "2017-02-28T18:26:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "*Test Setup*\nTested on Macbook Pro (4-core with hyperthreading)\nJetty configured with {{ssl-acceptor-threads: 1, ssl-selector-threads: 1, max-threads: 3}} to restrict to 1 processing thread\nTest used {{inter-run-pause-ms: 1, num-endpoints: 10}}. Tested with both {{concurrency: 1}} and {{concurrency: 8}}.\n*Results*\nConnect takes 150ms, associate message 50ms", "created": "2016-06-13T17:21:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Using two Openstack g1.large instances (4 core, 4GB ram)\n\n{code}\nConnection test setup:\n  8 concurrent sets (+0 per run) of 500 endpoints (+100 per run)\n  5 runs, 30000 ms pause between each run\n  10 ms pause between each endpoint connection\n  WebSocket connection timeout 2500 ms\n  Association timeout 15 s", "created": "2016-06-13T21:22:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Bumping {{startMonitoring}}'s {{connection_check_interval_s}} to 60 seconds:\n{code}\nConnection test setup:\n  8 concurrent sets (+0 per run) of 500 endpoints (+100 per run)\n  5 runs, 30000 ms pause between each run\n  10 ms pause between each endpoint connection\n  WebSocket connection timeout 2500 ms\n  Association timeout 15 s", "created": "2016-06-13T23:09:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "It'd be interesting to figure out why some connections are dropped. It seems load related", "created": "2016-06-14T15:03:00.000000"}], "components": [], "created": "2016-06-09T12:52:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6c1a7374"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz6wpb:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Spare bandwidth"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3172_*|*_3_*:*_1_*:*_439429745_*|*_5_*:*_1_*:*_0"}], "description": "Profile pcp-broker connection performance using pcp-test. It takes approximately one minute to connect and disconnect 200 clients. I'd like to know why that is. Most of the time seems to be in disconnects.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32092", "fixedVersions": [], "id": "32092", "issueType": "Task", "key": "PCP-462", "labels": [], "originalEstimate": "PT0S", "parent": "31796", "parentSummary": "Set up component performance testing for pcp-broker using pcp-test", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Done", "resolutionDate": "2016-06-14T14:56:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Profile PCP connection association", "timeSpent": "PT0S", "updated": "2016-06-22T17:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2016-06-08T09:34:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@30cbcc21"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-436"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3e7:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2419517565_*|*_3_*:*_2_*:*_369111692_*|*_10009_*:*_1_*:*_7189_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_1013097287_*|*_10006_*:*_3_*:*_12120244234"}], "epicLinkSummary": "Prepare for PCP/PXP Version 2", "estimate": "PT0S", "externalId": "31811", "fixedVersions": [], "id": "31811", "issueType": "Task", "key": "PCP-460", "labels": [], "originalEstimate": "PT0S", "parent": "32089", "parentSummary": "Prepare for PCP/PXP Version 2", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Won't Do", "resolutionDate": "2016-12-09T15:20:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "[SPIKE] Create tasks for work summarized in the epic description", "timeSpent": "PT0S", "updated": "2016-12-09T15:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "We can do this directly in cpp-pcp-client by adding a new sink.", "created": "2016-08-17T11:05:00.000000"}], "components": ["pxp-agent"], "created": "2016-06-08T09:20:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3b5ef314"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz6v87:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/Aug/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_5515545105_*|*_3_*:*_1_*:*_538746095_*|*_5_*:*_1_*:*_0"}], "description": "It may be necessary to update Leatherman.Logging for the ability to register multiple sources and sinks, so we can have access messages logged to both the normal log and the access log, and everything else still logged to the normal log.\n\nBoost.Log supports this, and may be usable directly instead.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32312", "fixedVersions": [], "id": "32312", "issueType": "Sub-task", "key": "PCP-459", "labels": [], "originalEstimate": "PT0S", "parent": "31581", "parentSummary": "Log pxp-agent accesses", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Won't Do", "resolutionDate": "2016-08-17T11:05:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Update Leatherman.Logging for ability to configure multiple log sinks", "timeSpent": "PT0S", "updated": "2016-08-17T11:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2016-06-08T09:18:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@51e0ffdf"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz6v7z:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_11934246875_*|*_10007_*:*_1_*:*_426139454_*|*_3_*:*_1_*:*_295200_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_872878965"}], "description": "Register the new access log file from pxp-agent in puppet-specifications.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32161", "fixedVersions": [], "id": "32161", "issueType": "Sub-task", "key": "PCP-458", "labels": ["maintenance"], "originalEstimate": "PT0S", "parent": "31581", "parentSummary": "Log pxp-agent accesses", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Done", "resolutionDate": "2016-11-08T12:18:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Register new access log file with puppet-specifications", "timeSpent": "PT0S", "updated": "2016-11-08T12:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [], "components": ["pxp-agent package", "QA"], "created": "2016-06-07T07:51:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@e8a84bf"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-404"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz6107:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_42655661_*|*_1_*:*_1_*:*_1301487718_*|*_10007_*:*_2_*:*_927716797_*|*_3_*:*_1_*:*_73548543_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_41720120_*|*_10006_*:*_1_*:*_113161168_*|*_10005_*:*_1_*:*_1815633468"}], "description": "cut network to primary (block port?), start replica, ensure connectivity to replica\n\nhttps://testrail.ops.puppetlabs.net/index.php?/cases/view/97964\n\n", "epicLinkSummary": "Enable agent-side broker failover in PXP Agent", "estimate": "PT0S", "externalId": "31521", "fixedVersions": [], "id": "31521", "issueType": "Task", "key": "PCP-457", "labels": ["ha-dep"], "originalEstimate": "PT0S", "parent": "31609", "parentSummary": "Enable agent-side broker failover in PXP Agent", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-07-27T06:43:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Acceptance: Automate pxp-agent broker timeout failover test", "timeSpent": "PT0S", "updated": "2016-07-27T06:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "body": "Duplicate of PCP-452", "created": "2016-06-08T09:24:00.000000"}], "components": ["cpp-pcp-client", "pxp-agent"], "created": "2016-06-03T07:36:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7844aa90"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz6ryn:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Better do it now since I've just reviewed PCP-423"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Jun/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_438491976_*|*_5_*:*_1_*:*_5535370961_*|*_6_*:*_1_*:*_0"}], "description": "We currently allow configuring the TTL of the PCP Association request message. We should also expose the entire timeout for the Session Association process; we currently use a constant value of 15 s.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31849", "fixedVersions": [], "id": "31849", "issueType": "Improvement", "key": "PCP-456", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Duplicate", "resolutionDate": "2016-06-08T09:24:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Expose and configure the Association timeout in cpp-pcp-client", "timeSpent": "PT0S", "updated": "2016-08-11T11:00:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["cpp-pcp-client"], "created": "2016-06-03T07:32:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@74796a42"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz6ryf:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Better do it now since I've just reviewed PCP-423"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_40158898_*|*_1_*:*_1_*:*_19242937_*|*_10007_*:*_1_*:*_204177780_*|*_3_*:*_1_*:*_328335400_*|*_5_*:*_1_*:*_5015439370_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_366521113"}], "description": "Most important, add an unit test for checking the behaviour of PCPClient::Connector's monitoring task after a number of pong timeouts. This will require adding to the MockServer a handler for Association requests and for ping messages.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31809", "fixedVersions": ["cpp-pcp-client 1.2.0"], "id": "31809", "issueType": "Improvement", "key": "PCP-455", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-06-14T09:45:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add unit tests for cpp-pcp-client's Connector", "timeSpent": "PT0S", "updated": "2016-08-11T10:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Also https://github.com/puppetlabs/pcp-test/pull/11 (still missing the webhooks...)", "created": "2016-06-03T12:51:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Most of the examples still refer to {{monitorConnection}}. We should update them. So does the README.", "created": "2016-06-07T17:08:00.000000"}], "components": ["cpp-pcp-client", "pxp-agent"], "created": "2016-06-03T07:28:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@408dd9a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz6ry7:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "cpp-pcp-client's Connector::startMonitoring is now non-blocking and a new stopMonitoring method has been added. Those changes are transparent to the pxp-agent user."}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Needed asap for executing tests with pcp-test"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "07/Jun/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_163936547_*|*_1_*:*_1_*:*_778750_*|*_10007_*:*_1_*:*_13442473_*|*_3_*:*_1_*:*_18582380_*|*_10009_*:*_1_*:*_1404536_*|*_5_*:*_1_*:*_5724881947_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_51060181"}], "description": "Invoke PCPClient::Connector::monitorConnection for each client instance.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31688", "fixedVersions": ["cpp-pcp-client 1.2.0", "pxp-agent 1.2.0"], "id": "31688", "issueType": "Improvement", "key": "PCP-454", "labels": [], "originalEstimate": "PT0S", "parent": "31796", "parentSummary": "Set up component performance testing for pcp-broker using pcp-test", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-08-11T10:56:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pcp-test's Connection Test should keep connections alive", "timeSpent": "PT0S", "updated": "2016-08-11T10:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "validated on ubuntu1404 at puppet agent master sha: 57b135f94f2b27ae7195d0d19ff86bc96f4a0c38\n with {{\"association-request-ttl\" => -2,}}\n{{  2016-06-14 13:12:21.254902 ERROR puppetlabs.pxp_agent.main:205 - Fatal configuration error: association-request-ttl must be positive", "created": "2016-06-14T14:31:00.000000"}], "components": ["cpp-pcp-client", "pcp-test", "pxp-agent"], "created": "2016-06-02T09:33:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@57910498"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz6se7:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "cpp-pcp-client's Connector now allows configuring the timeout for the Session Association process and the WebSocket pong timeout."}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Needed for PCP-455"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Jun/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_104097403_*|*_1_*:*_1_*:*_408327086_*|*_10007_*:*_1_*:*_8021507_*|*_3_*:*_1_*:*_10005246_*|*_5_*:*_1_*:*_4998093466_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_524420087"}], "description": "Add the PCP association timeout option, as it -is now- will be exposed by cpp-pcp-client.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32311", "fixedVersions": ["cpp-pcp-client 1.2.0", "pxp-agent 1.2.0"], "id": "32311", "issueType": "New Feature", "key": "PCP-452", "labels": [], "originalEstimate": "PT0S", "parent": "31796", "parentSummary": "Set up component performance testing for pcp-broker using pcp-test", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-06-14T14:35:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add association timeout option to pcp-test's Connection Test", "timeSpent": "PT0S", "updated": "2016-08-11T10:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Fixed with https://github.com/puppetlabs/clj-pxp-puppet/pull/87. The PR used a PE ticket number, which made this all slightly complicated", "created": "2016-05-31T13:19:00.000000"}], "components": ["clj-pxp-puppet"], "created": "2016-05-31T13:18:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Inventory response with invalid URIs should still be included in the response processed by clj-pxp-puppet, and not result in an error. In particular, underscores should be allowed."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@259e1832"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz6omv:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Valid inventory responses will no longer result in a schema error in clj-pxp-puppet."}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Cleanup ownership of PE-14894"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_7959_*|*_10009_*:*_1_*:*_734650_*|*_5_*:*_1_*:*_0"}], "description": "Returning certnames containing underscores in the inventory response results in nil entries in the inventory response, resulting in a schema failure.\n\nCertnames are not restricted to valid URIs (as expected from the Java URI class). We should allow everything in the URI schema defined in clj-pcp-common's protocol where it's defined.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31697", "fixedVersions": ["clj-pxp-puppet 0.1.2"], "id": "31697", "issueType": "Bug", "key": "PCP-451", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-05-31T13:31:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Underscores in certnames of inventory response result in schema failure", "timeSpent": "PT0S", "updated": "2016-05-31T13:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "No redelivery in pcp-broker 1.0.0.", "created": "2017-01-06T14:04:00.000000"}], "components": ["pcp-broker"], "created": "2016-05-31T11:10:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@346019a5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-435"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz7ug7:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/Jan/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_19022018146_*|*_6_*:*_1_*:*_0"}], "description": "Re-deliveries pauses are in the [1, 15] seconds range.\nWe should instead use an exponential backoff and ensure that the re-delivery logic is correct.", "epicLinkSummary": "PCP Broker Reliability", "estimate": "PT0S", "externalId": "31935", "fixedVersions": [], "id": "31935", "issueType": "Improvement", "key": "PCP-450", "labels": [], "originalEstimate": "PT0S", "parent": "31934", "parentSummary": "PCP Broker Reliability", "priority": "Minor", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Won't Do", "resolutionDate": "2017-01-06T14:04:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Consider using an exponential backoff for pcp-broker re-deliveries", "timeSpent": "PT0S", "updated": "2017-01-06T14:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Not needed now that pcp-broker has been fixed up.", "created": "2016-06-01T09:06:00.000000"}], "components": [], "created": "2016-05-31T08:53:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@49b6b77b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz6izb:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_87166584_*|*_6_*:*_1_*:*_0"}], "description": "When all connections from pcp-test disconnect at once, it causes massive thread contention in the pcp-broker. We should probably fix that (PCP-448), but we could avoid it for now by adding a pause between disconnects to give the broker time to process them.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32160", "fixedVersions": [], "id": "32160", "issueType": "Improvement", "key": "PCP-449", "labels": [], "originalEstimate": "PT0S", "parent": "31796", "parentSummary": "Set up component performance testing for pcp-broker using pcp-test", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Won't Do", "resolutionDate": "2016-06-01T09:06:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add disconnect pause option", "timeSpent": "PT0S", "updated": "2016-06-01T09:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] Could you please add the bug fix doc info? ", "created": "2016-06-13T11:14:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I'm pretty sure this can also affect the broker during connection with a sufficient number of simultaneous connection attempts. This is most likely to happen when restarting the broker.", "created": "2016-08-02T18:12:00.000000"}], "components": [], "created": "2016-05-31T08:51:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Should be able to run 1600 connection tests in a reasonable amount of time (linear scaling)."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@687474f0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-435"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyn8qf:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "An issue where many clients disconnecting at once could result in high thread contention, causing disconnects to slow down significantly, has been fixed."}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Started investigating during PCP con"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Jun/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_3920043_*|*_1_*:*_1_*:*_20373124_*|*_10007_*:*_1_*:*_44253416_*|*_3_*:*_1_*:*_6228079_*|*_10009_*:*_1_*:*_461372023_*|*_4_*:*_1_*:*_13132642_*|*_5_*:*_2_*:*_180149612_*|*_10011_*:*_1_*:*_598290374"}], "description": "Using pcp-test with 1600 connections, when they all disconnect at once the broker becomes very slow to disconnect individual connections; instead of taking ~0.1s, it takes ~5s.\n\n{code}\nConnection test setup:\n  4 concurrent sets (+0 per run) of 400 endpoints (+100 per run)\n  3 runs, 60000 ms pause between each run\n  200 ms pause between each endpoint connection\n  WebSocket connection timeout 2500 ms; Association Request TTL 5 s\n{code}\n\nThis is likely caused by thread contention over the {{connections}} and {{uri-map}} atoms. We should try to improve performance under these circumstances. One idea is to try ConcurrentHashMap.", "epicLinkSummary": "PCP Broker Reliability", "estimate": "PT0S", "externalId": "32091", "fixedVersions": ["pcp-broker 0.6.2", "pcp-broker 0.7.1"], "id": "32091", "issueType": "Bug", "key": "PCP-448", "labels": [], "originalEstimate": "PT0S", "parent": "31934", "parentSummary": "PCP Broker Reliability", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-06-15T17:39:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pcp-broker disconnection becomes very slow when many clients disconnect at once", "timeSpent": "PT0S", "updated": "2016-08-02T18:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Debug chunks removed in pcp-broker 1.0.0.", "created": "2017-01-06T13:23:00.000000"}], "components": [], "created": "2016-05-27T04:12:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Messages sent to an unconnected recipient, that are retried multiple times, should only have a single debug chunk when finally sent.\n* send a message with high TTL to disconnected agent. Reconnect agent. The size of the message in the log should not be significantly larger than a message that was sent without a retry.\n* a message that is delivered after several retry attempts, should only have the last retry information in the debug chunk in the log."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1d080b5b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-435"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3ev:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3475575060_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_15914684630"}], "description": "When we send a message, it should only have one hop debug entry for each broker. Appending on each retry is not particularly useful and wastes broker cycles.\n\nWhen retrying, remove the last hop entry (which should be for the current broker) in the debug section and replace it with an updated entry.", "epicLinkSummary": "PCP Broker Reliability", "estimate": "PT0S", "externalId": "32310", "fixedVersions": [], "id": "32310", "issueType": "Task", "key": "PCP-447", "labels": [], "originalEstimate": "PT0S", "parent": "31934", "parentSummary": "PCP Broker Reliability", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Won't Do", "resolutionDate": "2017-01-06T13:23:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Avoid adding redundant hop entries to the debug chunk", "timeSpent": "PT0S", "updated": "2017-01-06T13:23:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Done, made improvements in pcp-broker 1.0.0 based on this.", "created": "2017-01-06T13:19:00.000000"}], "components": [], "created": "2016-05-27T04:01:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6944d10c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-435"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz6mx3:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "5.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_19390723170_*|*_6_*:*_1_*:*_0"}], "description": "One goal is to evaluate our bottlenecks, particularly do we see issues with ActiveMQ similar to observations from PuppetDB.\n\nInclude testing various messaging loads; we may want to consider some form of congestion control for retries.", "epicLinkSummary": "PCP Broker Reliability", "estimate": "PT0S", "externalId": "32159", "fixedVersions": [], "id": "32159", "issueType": "Task", "key": "PCP-446", "labels": [], "originalEstimate": "PT0S", "parent": "31934", "parentSummary": "PCP Broker Reliability", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Done", "resolutionDate": "2017-01-06T13:19:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Investigate broker performance using pcp-test", "timeSpent": "PT0S", "updated": "2017-01-06T13:19:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "We do. We could add some testing around that, but trapperkeeper service lifetimes are pretty well understood.", "created": "2017-01-06T13:24:00.000000"}], "components": [], "created": "2016-05-27T03:59:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6069a323"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-435"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz6mwv:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_19391062297_*|*_6_*:*_1_*:*_0"}], "description": "Agents should reconnect after a HUP. Verify that works, and see if we have tests covering it. If we don't, ticket adding them.", "epicLinkSummary": "PCP Broker Reliability", "estimate": "PT0S", "externalId": "32090", "fixedVersions": [], "id": "32090", "issueType": "Task", "key": "PCP-445", "labels": [], "originalEstimate": "PT0S", "parent": "31934", "parentSummary": "PCP Broker Reliability", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Done", "resolutionDate": "2017-01-06T13:24:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Verify clients reconnect after HUP, evaluate testing", "timeSpent": "PT0S", "updated": "2017-01-06T13:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Messages are no longer persisted in pcp-broker 1.0.0.", "created": "2017-01-06T13:23:00.000000"}], "components": [], "created": "2016-05-27T03:58:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@635da00"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-435"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz6mwn:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_19391146449_*|*_6_*:*_1_*:*_0"}], "description": "We should retain messages through a HUP. Verify that works, and see if we have tests covering it. If we don't, ticket adding them.", "epicLinkSummary": "PCP Broker Reliability", "estimate": "PT0S", "externalId": "32020", "fixedVersions": [], "id": "32020", "issueType": "Task", "key": "PCP-444", "labels": [], "originalEstimate": "PT0S", "parent": "31934", "parentSummary": "PCP Broker Reliability", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Done", "resolutionDate": "2017-01-06T13:23:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Verify we retain messages through a HUP, and evaluate testing", "timeSpent": "PT0S", "updated": "2017-01-06T13:23:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "It works.", "created": "2017-01-06T13:19:00.000000"}], "components": [], "created": "2016-05-27T03:54:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6ed1129d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-435"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz6mw7:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_19391116729_*|*_6_*:*_1_*:*_0"}], "description": "I'm pretty sure pcp-broker doesn't reload configuration, so this may turn into a bug fix.", "epicLinkSummary": "PCP Broker Reliability", "estimate": "PT0S", "externalId": "31847", "fixedVersions": [], "id": "31847", "issueType": "Task", "key": "PCP-443", "labels": [], "originalEstimate": "PT0S", "parent": "31934", "parentSummary": "PCP Broker Reliability", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Done", "resolutionDate": "2017-01-06T13:19:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Ensure HUP reloads configuration", "timeSpent": "PT0S", "updated": "2017-01-06T13:19:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Removed ActiveMQ instead.", "created": "2017-01-06T13:18:00.000000"}], "components": [], "created": "2016-05-27T03:46:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@78d7ac04"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-435"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz6mvr:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_19391476870_*|*_6_*:*_1_*:*_0"}], "description": "This brings parity with PuppetDB, and brings in a bug fix found in PDB-1411.", "epicLinkSummary": "PCP Broker Reliability", "estimate": "PT0S", "externalId": "31613", "fixedVersions": ["pcp-broker 1.0.0"], "id": "31613", "issueType": "Improvement", "key": "PCP-442", "labels": [], "originalEstimate": "PT0S", "parent": "31934", "parentSummary": "PCP Broker Reliability", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Won't Fix", "resolutionDate": "2017-01-06T13:18:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Upgrade to ActiveMQ 5.13.2", "timeSpent": "PT0S", "updated": "2017-01-06T13:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2016-05-27T03:45:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3ed99360"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-435"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz6mvj:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_19391528975_*|*_6_*:*_1_*:*_0"}], "description": "It doesn't add much, isn't maintained, and doesn't work with ActiveMQ 5.8+", "epicLinkSummary": "PCP Broker Reliability", "estimate": "PT0S", "externalId": "31694", "fixedVersions": ["pcp-broker 1.0.0"], "id": "31694", "issueType": "Improvement", "key": "PCP-441", "labels": [], "originalEstimate": "PT0S", "parent": "31934", "parentSummary": "PCP Broker Reliability", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Done", "resolutionDate": "2017-01-06T13:17:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Remove Clamq", "timeSpent": "PT0S", "updated": "2017-01-06T13:17:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [], "components": ["cpp-pcp-client"], "created": "2016-05-27T03:40:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@587a3bdc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz6j07:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_3175857_*|*_1_*:*_1_*:*_452675043_*|*_10007_*:*_1_*:*_3879453_*|*_3_*:*_1_*:*_81055019_*|*_5_*:*_1_*:*_4931508152_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_489031_*|*_10004_*:*_1_*:*_11039_*|*_10006_*:*_2_*:*_1119772353"}], "description": "Add a time point that indicates when the closing handshake initiates; add a member function to expose its duration. ", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31520", "fixedVersions": ["cpp-pcp-client 1.2.0"], "id": "31520", "issueType": "New Feature", "key": "PCP-440", "labels": [], "originalEstimate": "PT0S", "parent": "31796", "parentSummary": "Set up component performance testing for pcp-broker using pcp-test", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-06-15T09:04:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add WS closing stats to cpp-pcp-client's ConnectionTimings", "timeSpent": "PT0S", "updated": "2016-08-11T10:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Re-open if we notice this happening again.", "created": "2017-03-01T17:52:00.000000"}], "components": ["pxp-agent package", "QA"], "created": "2016-05-26T08:54:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5a9ce741"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz6m9b:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Mar/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_24141430737_*|*_6_*:*_1_*:*_0"}], "description": "Noticed when testing PCP-349\n\nIn pxp-agent.log on Windows, onPongTimeout warnings appear occasionally in the log\nThe pong timeouts are always on their own (logged as _(0 consecutive)_) and appear immediately after an entry for _puppetlabs.pxp_agent.pxp_connector:204 - Sent response for the blocking 'pxp-module-puppet run' request_\n\nRaising as a QA task rather than a bug; in order to go back and re-test this and make sure there are no mistakes in the setup", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31845", "fixedVersions": [], "id": "31845", "issueType": "Task", "key": "PCP-439", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Cannot Reproduce", "resolutionDate": "2017-03-01T17:52:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Investigate onPongTimeout warnings on Windows", "timeSpent": "PT0S", "updated": "2017-03-01T17:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "We've considered core.async in PCP-681 work, and want to avoid it due to lack of control over the thread pool. We'll reconsider how that works in the future", "created": "2017-02-14T10:43:00.000000"}], "components": [], "created": "2016-05-26T08:54:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@30143b4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz6m93:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Feb/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_22819785345_*|*_6_*:*_1_*:*_0"}], "description": "Spike a simple PCP client by using core.async on top of clj-pcp-client, to assess the benefits and effort of using it in clj-pxp-puppet.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31806", "fixedVersions": [], "id": "31806", "issueType": "Task", "key": "PCP-438", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Won't Do", "resolutionDate": "2017-02-14T10:43:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Spike a simple PCP client based on clojure's core.async", "timeSpent": "PT0S", "updated": "2017-02-17T17:27:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Superseded by work around PCP-559.", "created": "2016-09-26T17:18:00.000000"}], "components": [], "created": "2016-05-26T07:42:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Scrum Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "PCP"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@47e20ecc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-5"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Multi-broker Investigation"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "To Do"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "dark_teal"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz6m8f:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Sep/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_6254_*|*_6_*:*_1_*:*_0_*|*_10010_*:*_1_*:*_10661750711"}], "description": "Some broad areas of investigation\n- How should we connect multiple brokers together?\n- What new PCP extensions (message types) are needed for inter-broker communication?\n- Should brokers share inventory data for routing and the inventory service; should that be restricted to the same data center, or shared across all data centers?\n\nWe also need some preparation for spikes on broker architectures\n- Implement multi-broker connections and PCP extensions\n- Enhance client rejection of duplicate messages to cover a reasonable communication window\n\nPotential spikes\n- Hierarchical deployment\n    Deploy redundant brokers per-domain (which has a fixed maximum size, may be multiple domains per datacenter).\n    Share inventory 1-way (to a hub co-located with the Console); we can deal with hub HA via binary star failover, or satellite brokers connect to multiple hubs.\n    Agents connect to multiple brokers concurrently, and send a fixed number of messages (for replication); failed delivery is handled by the client retrying after a timeout period\n    This deployment assumes low traffic between domains, the hub potentially becomes a bottleneck; it replicates MCO hub-and-spoke deployment.\n- Mesh network\n    Investigate in-memory hashes. Choose a reasonable solution for our needs without consideration of configuration difficulty; we can deal with that once we've verified that a particular approach satisfies our needs.\n    Need to spike routing and inter-datacenter connectivity.\n\nThe outcome of this investigation is expected to also impact what layer we choose for implementing delivery guarantees.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32309", "fixedVersions": [], "id": "32309", "issueType": "Epic", "key": "PCP-437", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Duplicate", "resolutionDate": "2016-09-26T17:18:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Investigate multi-broker architectures for HA and scale", "timeSpent": "PT0S", "updated": "2017-02-20T11:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "[~accountid:557058:093475a3-6bc8-4a70-8034-ae5a2ea66512] do you have any context on how far PCP-250 goes in implementing this?", "created": "2016-06-13T10:44:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] PCP-250 only enables support for two distinct protocol versions in a single broker, but the difference is a minor one - the new version - {{vNext}} - only differs from the old version - {{v1}} - in including the {{in-reply-to}} header in the messages _sent_ by the broker. There is no difference in the messages _received_ by the broker.\nThe version to use on any particular websocket connection is determined by the websocket endpoint used by the client when establishing the connection.", "created": "2016-06-13T17:10:00.000000"}], "components": [], "created": "2016-05-26T07:24:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Scrum Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "PCP"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4125ecb8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-3"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "PCP/PXP Version Handling"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "To Do"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "yellow"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyqhlb:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Jun/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_5649_*|*_6_*:*_1_*:*_0_*|*_10010_*:*_1_*:*_17052996019"}], "description": "Moving PCP and PXP to version 2 will require preparation in all components to support mismatches between component versions introduced by the support matrix for Puppet Enterprise and Puppet Agent versions. At the least, we'll always need to support the previous version of a protocol when we bump to a new version.\n\n----\n\nh2. Puppet Execution Protocol\n\nPXP should allow minor (additive) protocol changes, as it\u2019s expensive to determine a version mismatch; that is done by relaxing the schema to allow additional properties. It also needs a new version field, to determine when fields and workflow change: version is determined by extending the path of the message type, with lack of version implying the initial version.\n\nAdding versions to the end of message type will also impact authorization rules, where we can filter on message_type.\n\nclj-pxp-puppet needs to be configurable to use a specific version (to avoid extra messaging), but also needs to respond to errors from pxp-agent (when the version is rejected) by trying an older version. Those error messages either contain the latest supported version (if the agent supports version 2+) or an ambiguous message (for agents supporting only version 1); if the message is too ambiguous to determine whether to retry, a less-desirable alternative is to force reconfiguration of clj-pxp-puppet to explicitly start with version 1.\n\nDealing with the version 1 -> 2 transition, we may be able to piggy-back on PCP version to make this less terrible. Later versions would then use PXP version.\n\npxp-agent should recognize pxp versions (in the message type URL) and respond with the appropriate protocol version. If it doesn\u2019t support the version, it should return an error detailing the latest supported version.\n\nh2. Puppet Communication Protocol\nThe broker should translate PCP messages between supported versions. Otherwise a message between PCP clients supporting version N (receiver) and N+1 (sender) will have to be delivered, an error returned, a new connection established using the correct version terminus in the broker, and a new message sent with a matching version. Consecutive versions must be compatible; incompatible versions should be a rarity, as it would usually be possible to convert between consecutive versions until the versions are compatible.\n\nPCP already defines a version for the PCP envelope. Individual messages in PCP - Session Association and Inventory - are put into the data chunk, and have their own message type. The versions of the PCP envelope and version of individual messages can potentially move independently, but it'll be simplest to keep a single version type for PCP messages.\n\nWhen sending a message to a pcp-broker and the broker doesn\u2019t support it, the broker should respond with the latest supported PCP version. clj-pxp-puppet should then retry with that version. We currently specify the PCP versioning in the WS URL (endpoint); in case of unknown endpoint, PCP v1 is used - we shouldn\u2019t be defaulting to v1. Reject and send supported end-points so sender can use an earlier version.\n\npxp-agent acts as both client (connecting to pcp-broker) and server (responding to clj-pxp-puppet requests)\n\npcp-broker should convert between PCP envelope versions depending on supported version of destination. Message type negotiation is left up to end-points.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32089", "fixedVersions": [], "id": "32089", "issueType": "Epic", "key": "PCP-436", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Won't Do", "resolutionDate": "2016-12-09T15:21:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Prepare for PCP/PXP Version 2", "timeSpent": "PT0S", "updated": "2017-01-10T15:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pcp-broker"], "created": "2016-05-26T07:16:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Scrum Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "PCP"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@d207156"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-7"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "PCP Broker Reliability"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "To Do"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "purple"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hymozr:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_65035_*|*_6_*:*_1_*:*_0_*|*_10010_*:*_1_*:*_19469399807_*|*_10013_*:*_1_*:*_16808_*|*_10014_*:*_1_*:*_1197987340"}], "description": "Improve the reliability of PCP broker. Some specific areas of improvement are\n- HUP reliability: configuration should reload after HUP, avoid losing messages through a HUP, clients should reconnect after HUP; check for ActiveMQ race-condition on HUP found in PuppetDB\n- ActiveMQ: upgrade to latest ActiveMQ, deal with issues arising from DB journaling (hypothesis for PCP-394)\n- Investigate broker performance; this may lead to considering alternatives to ActiveMQ, such as a new library being developed for PuppetDB, consider options for congestion control\n- Avoid adding redundant hop entries to the debug chunk", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31934", "fixedVersions": ["pcp-broker 1.0.0"], "id": "31934", "issueType": "Epic", "key": "PCP-435", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Done", "resolutionDate": "2017-01-20T11:13:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "PCP Broker Reliability", "timeSpent": "PT0S", "updated": "2017-01-20T11:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "PCP-394 was closed as not reproducible", "created": "2016-09-28T10:01:00.000000"}], "components": ["pxp-agent package", "QA"], "created": "2016-05-26T05:32:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@29de135d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz6m7z:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_10816144718_*|*_5_*:*_1_*:*_0"}], "description": "PCP-394 was a transient failure in pxp-agent acceptance testing that was determined to be an actual bug in pcp-broker\n\nNow that PCP-394 is understood to be a pcp-broker bug and is reproducible; pxp-agent acceptance should work around it\n\nThe [pcp_broker_inventory|https://github.com/puppetlabs/pxp-agent/blob/master/acceptance/lib/pxp-agent/test_helper.rb#L137] method could be updated to not assume it will receive an inventory response at all; and simply retry in this case.\n\nThe testing so far for PCP-394 has suggested that the lost inventory response occurs in isolation and the next inventory request will probably succeed; so  [pcp_broker_inventory|https://github.com/puppetlabs/pxp-agent/blob/master/acceptance/lib/pxp-agent/test_helper.rb#L137] probably only needs to retry a small number of times", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31804", "fixedVersions": [], "id": "31804", "issueType": "Task", "key": "PCP-434", "labels": ["pxp_puppet-agent_ci", "pxp-agent_ci", "transient"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Won't Fix", "resolutionDate": "2016-09-28T10:01:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent acceptance should workaround pcp-broker expiry bug PCP-394", "timeSpent": "PT0S", "updated": "2016-09-28T10:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "No longer needed, use of ActiveMQ was removed.", "created": "2017-03-01T17:51:00.000000"}], "components": [], "created": "2016-05-26T05:14:00.000000", "creator": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@54b88641"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz6m7r:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Mar/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_24154578068_*|*_6_*:*_1_*:*_0"}], "description": "PuppetDB has done that in PDB-1252, we want to follow suite.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31612", "fixedVersions": [], "id": "31612", "issueType": "Improvement", "key": "PCP-433", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "resolution": "Won't Do", "resolutionDate": "2017-03-01T17:51:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Remove clamq; use ActiveMQ directly", "timeSpent": "PT0S", "updated": "2017-03-01T17:51:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "https://github.com/puppetlabs/pcp-test/pull/21", "created": "2016-07-05T07:10:00.000000"}], "components": ["pcp-test"], "created": "2016-05-25T07:34:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2eaf793d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyn4sn:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_130659314_*|*_1_*:*_1_*:*_1820961920_*|*_10007_*:*_1_*:*_29395965_*|*_3_*:*_1_*:*_597732164_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_45135249_*|*_10006_*:*_1_*:*_1122156465"}], "description": "Configure inter-connection pause with an exponential distribution.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31691", "fixedVersions": [], "id": "31691", "issueType": "New Feature", "key": "PCP-432", "labels": [], "originalEstimate": "PT0S", "parent": "31796", "parentSummary": "Set up component performance testing for pcp-broker using pcp-test", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-07-07T16:08:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Set exponential interarrivals for pcp-test's connection", "timeSpent": "PT0S", "updated": "2016-07-07T16:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Some possible approaches:\n * Have a 2nd tk instance of pcp-broker running on the current _master_ host\n * Add an additional host to the test system and run a 2nd broker there\n * Continue with one broker, but configure an alternate URI for pxp-agent to connect to", "created": "2016-05-25T06:10:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Adding a second broker to the existing SUT is fairly easy, with these steps:\n# Clone another working copy of pcp-broker.git\n# Copy over the SSL certs from the primary broker (because at this point, the standard certs will have been replaced with certs generated by Puppet)\n# Edit _test-resources/conf.d/webserver.conf_ and change ssl-port to some other value e.g. 8142\n# Edit _test-resources/conf.d/nrepl.conf_ and change port to some other value e.g. 8143\n# _lein tk_ as normal, redirecting output to a different log file", "created": "2016-06-07T07:43:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "[~accountid:557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced], if you have a moment to review this, that'd be great.  James is on holiday today.", "created": "2016-07-12T09:12:00.000000"}], "components": ["pxp-agent package", "QA"], "created": "2016-05-25T06:03:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@12dcb553"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-404"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyn2y7:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Jul/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_64562935_*|*_1_*:*_1_*:*_2431189495_*|*_10007_*:*_2_*:*_86325447_*|*_3_*:*_2_*:*_347075244_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_716629996_*|*_10005_*:*_1_*:*_606825668"}], "description": "To automate test cases where pxp-agent fails over to a failover broker; our pxp-agent acceptance setup needs to allow for a 2nd broker to be available\n", "epicLinkSummary": "Enable agent-side broker failover in PXP Agent", "estimate": "PT0S", "externalId": "32088", "fixedVersions": [], "id": "32088", "issueType": "Task", "key": "PCP-431", "labels": ["ha-dep"], "originalEstimate": "PT0S", "parent": "31609", "parentSummary": "Enable agent-side broker failover in PXP Agent", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-07-13T11:19:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent acceptance should support a failover pcp-broker", "timeSpent": "PT0S", "updated": "2016-07-13T11:19:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pxp-agent package", "QA"], "created": "2016-05-25T05:59:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Test running stably in pxp-agent CI; Test Rail updated to reflect the automation"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2543cf87"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-404"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyn2yf:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_69767060_*|*_1_*:*_1_*:*_2431386123_*|*_10007_*:*_1_*:*_80045397_*|*_3_*:*_1_*:*_7965445_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1056817316_*|*_10005_*:*_1_*:*_606839236"}], "description": "ensure connection on the primary, intentionally shutdown the primary, start the replica, ensure new connection.  do not cut network connectivity to primary\nhttps://testrail.ops.puppetlabs.net/index.php?/cases/view/97934", "epicLinkSummary": "Enable agent-side broker failover in PXP Agent", "estimate": "PT0S", "externalId": "32017", "fixedVersions": [], "id": "32017", "issueType": "Task", "key": "PCP-430", "labels": ["ha-dep"], "originalEstimate": "PT0S", "parent": "31609", "parentSummary": "Enable agent-side broker failover in PXP Agent", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-07-13T11:20:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Automate pxp-agent broker failover acceptance test", "timeSpent": "PT0S", "updated": "2016-07-13T11:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Things to consider for a load test:\n - integrating inventory requests (if we don't create a separate inventory test)", "created": "2016-06-02T04:23:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "This task is completed, as it allows spiking pcp-test's Load Test.", "created": "2016-06-09T17:01:00.000000"}], "components": ["pcp-test"], "created": "2016-05-25T04:16:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4ac65279"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyn8pj:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Jun/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_623401492_*|*_3_*:*_1_*:*_716568676_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1958344"}], "description": "Outline \"all the things\" that come into our pcp-test model\n\nExamples (completing this ticket means completing this list)\n\nTunables:\n * Queue config\n * JVM\n * Box resources\n\nWorkload (refer to cthun-test load):\n * Number of connections\n * Message in flight\n * Size of messages\n * Number of undeliverable messages sitting on queue\n\nBroker state:\n * Nodes connecting anew; disconnecting; reconnecting\n * Logging level\n\nMeasurables:\n * Delivery success\n * Delivery stats\n * Connection stats", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31933", "fixedVersions": [], "id": "31933", "issueType": "Task", "key": "PCP-429", "labels": [], "originalEstimate": "PT0S", "parent": "31796", "parentSummary": "Set up component performance testing for pcp-broker using pcp-test", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Done", "resolutionDate": "2016-06-09T17:02:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Outline model for pcp-test", "timeSpent": "PT0S", "updated": "2016-06-09T17:02:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "[~accountid:557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715] because our feedback loop is a bit slow and we want to get CI green", "created": "2016-05-26T03:41:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "ugh.  thanks James!\n\ni put up another PR to fix this (under this ticket).  let's hold off on merging it into stable until PA 1.5.1 goes out.", "created": "2016-05-26T11:21:00.000000"}], "components": ["CI Blocker"], "created": "2016-05-24T17:28:00.000000", "creator": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@51fb246c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hynbyv:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "CI failure"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "26/May/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_51207905_*|*_1_*:*_1_*:*_163502_*|*_10007_*:*_1_*:*_606537557_*|*_10009_*:*_1_*:*_1887833_*|*_5_*:*_2_*:*_947735_*|*_10011_*:*_1_*:*_145087"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32158", "fixedVersions": [], "id": "32158", "issueType": "Bug", "key": "PCP-428", "labels": ["pxp_puppet-agent_ci", "pxp-agent_ci", "transient"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "resolution": "Fixed", "resolutionDate": "2016-06-01T09:03:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "CI failure in tests/restart_host_run_puppet.rb on ubuntu1404 ", "timeSpent": "PT0S", "updated": "2016-06-22T17:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["leatherman-integration"], "created": "2016-05-20T11:15:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3fabe68a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz6he7:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Adding a method to Util::Timer that provides the elapsed time in milliseconds."}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Goes together with PCP-424"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_44045_*|*_10007_*:*_1_*:*_924380624_*|*_3_*:*_1_*:*_340822_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_49917205"}], "description": "Add another method that provides time durations in ms.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32157", "fixedVersions": [], "id": "32157", "issueType": "Improvement", "key": "PCP-426", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-05-31T18:00:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add elapsed_milliseconds method to lth::Util::Timer", "timeSpent": "PT0S", "updated": "2016-05-31T18:00:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [], "components": ["cpp-pcp-client"], "created": "2016-05-20T11:11:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7ee1bb75"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyn8qv:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Was de-scoped by mistake"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_54889621_*|*_1_*:*_1_*:*_515303681_*|*_10007_*:*_1_*:*_440400529_*|*_5_*:*_1_*:*_5966928142_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_192766468"}], "description": "In case the Connection destructor is invoked while the connection_state is 'connecting', an extra pause should be granted to allow the WebSocket to reach a final state otherwise it may not be possible to stop the underlying event handler.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31932", "fixedVersions": ["cpp-pcp-client 1.2.0"], "id": "31932", "issueType": "Improvement", "key": "PCP-425", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-06-03T09:27:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "cpp-pcp-client's Connection dtor should wait at least 5 s if WebSocket is connecting", "timeSpent": "PT0S", "updated": "2016-08-11T10:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Tested using pcp-test at 2bdd7a2 using the following config:\n{code}{\n    \"logfile\"  : \"~/Github/pcp-test/logs/pcp-test.log\",\n    \"loglevel\" : \"trace\",\n    \"broker-ws-uris\" : [\"localhost\",\n                        \"broker.example.com\"],\n    \"connection-test-parameters\" : {\n        \"num-runs\"                 : 1,\n        \"inter-run-pause-ms\"       : 5000,\n        \"concurrency\"              : 1,\n        \"num-endpoints\"            : 1,\n        \"inter-endpoint-pause-ms\"  : 150,\n        \"endpoints-increment\"      : 0,\n        \"concurrency-increment\"    : 0,\n        \"ws-connection-timeout-ms\" : 9,\n        \"association-ttl-s\"        : 5\n    }\n}{code}\n\nWith cpp-pcp-client built at ref bef7ab4 , pcp-test hangs (appears to succeed in its test run but then does not exit and return to the console prompt)\nWith cpp-pcp-client built at ref 99aabc3, the same pcp-test completes without issue", "created": "2016-06-02T03:46:00.000000"}], "components": ["cpp-pcp-client"], "created": "2016-05-20T11:07:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6091eb6c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyn8qn:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Setting a WebSocket connection timeout less than 1 s could cause the Connector::connect() to throw an undesired error."}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Found while testing pcp-test; let's fix this!"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Jun/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_54891654_*|*_1_*:*_1_*:*_941889_*|*_10007_*:*_1_*:*_440400052_*|*_3_*:*_1_*:*_514621926_*|*_10009_*:*_1_*:*_20038661_*|*_5_*:*_1_*:*_6054032286_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_85628957"}], "description": "The private Connection::connectAndWait() should not return before the WebSocket connection state becomes 'open' or  connection_timeout_s expires.\nOtherwise, in case Connector::connect() is called with max connect attempts set to 1 and a connection timeout < 1 s,  the method will throw an exception regardless of the WebSocket state.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31842", "fixedVersions": ["cpp-pcp-client 1.2.0"], "id": "31842", "issueType": "Bug", "key": "PCP-424", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Minor", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-06-02T09:16:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "cpp-pcp-client's Connection::connect should not return before connection_timeout", "timeSpent": "PT0S", "updated": "2016-08-11T10:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Initial thoughts are that this should be a public configurable option (similar to connection-timeout) for the number of consecutive missed pong replies that should result in dropping the connection and trying to re-establish it (thus allowing failover to occur). 3 seems like a good default.\n\n{{ping/pong}} happens every 15 seconds (hardcoded in cpp-pcp-client), with a 5 second timeout (websocketpp default), so all these defaults mean it takes approximately 60 seconds to detect a broken connection and start attempting to reconnect. /cc [~accountid:557058:18109e62-1b97-4fa3-8217-9c25de3a4710]", "created": "2016-06-02T09:59:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Tested in puppet-agent master 0d46ff5fc06d06da98ba119f10e47b2dfe11a475\n\nSet up two instances of pcp-broker, one on port 8142 and the other on port 8143\n\nUsed iptables to drop packets destined for port 8142:\n\n{code}iptables -A INPUT -p tcp --destination-port 8142 -j DROP{code}\n\npxp-agent's log shows it reconnecting after 3 onPongTimeout events and failing over to the other broker:\n\n{noformat}2016-06-07 06:26:46.084542 WARN  puppetlabs.cpp_pcp_client.connection:498 - WebSocket onPongTimeout event\n2016-06-07 06:27:01.084683 WARN  puppetlabs.cpp_pcp_client.connection:501 - WebSocket onPongTimeout event (2 consecutive)\n2016-06-07 06:27:16.084824 WARN  puppetlabs.cpp_pcp_client.connection:495 - WebSocket onPongTimeout event (3 consecutive)", "created": "2016-06-07T07:34:00.000000"}, {"author": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] Could you please add the release note? ", "created": "2016-06-13T11:14:00.000000"}], "components": ["cpp-pcp-client", "pxp-agent"], "created": "2016-05-19T16:57:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Making pcp-broker unavailable should cause pxp-agent to disconnect and attempt to reconnect within several failed pings."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3e8c56ce"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-404"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Highest Test Level", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Acceptance"}, {"fieldName": "QA Highest Test Level Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Need to ensure this does not regress on any platform"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Medium"}, {"fieldName": "QA Risk Probability Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Regression possible in the pong code; the connection closing logic; or the failover code"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "High"}, {"fieldName": "QA Risk Severity Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Required for HA; and a fault in this area might even affect normal connectivity"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz60xr:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "pxp-agent will now disconnect and re-initialize its connection to a broker - or attempt to connect to a failover broker, if one is specified - after 3 unacknowledged pings. This means if the broker is unavailable for ~1 minute, pxp-agent will disconnect and attempt to reconnect."}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Spare bandwidth"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "07/Jun/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_202269621_*|*_1_*:*_1_*:*_571949389_*|*_10007_*:*_1_*:*_51033262_*|*_3_*:*_1_*:*_5017203_*|*_10009_*:*_1_*:*_532500444_*|*_5_*:*_1_*:*_5093885181_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_150958773_*|*_10006_*:*_1_*:*_628332021"}], "description": "cpp-pcp-client uses pings to keep the connection with pcp-broker alive, otherwise the pcp-broker would close the connection after 15 minutes (this is hard-coded in the broker). When pings don't receive a pong in response, we log the consecutive dropped pongs but never close the connection. This failure mode is inadequate to address HA failover.\n\nIt should be possible to detect a broken connection in a relatively short period of time (on the order of ~1 minute, maybe faster) and close/retry the connection. In the world of HA, this is especially useful as it allows detecting when a machine disappears so it can connect to a failover broker quickly.", "epicLinkSummary": "Enable agent-side broker failover in PXP Agent", "estimate": "PT0S", "externalId": "32015", "fixedVersions": ["cpp-pcp-client 1.2.0", "pxp-agent 1.2.0"], "id": "32015", "issueType": "New Feature", "key": "PCP-423", "labels": ["ha-dep"], "originalEstimate": "PT0S", "parent": "31609", "parentSummary": "Enable agent-side broker failover in PXP Agent", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-06-13T11:58:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent should detect and close unusable connections", "timeSpent": "PT0S", "updated": "2016-08-11T10:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Consider making this a separate test to assess how the broker respond to inventory request (timings & correctness) when the broker is under load.", "created": "2016-06-02T04:18:00.000000"}], "components": ["pcp-test"], "created": "2016-05-19T04:34:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2cd5d405"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3gv:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_24744189603_*|*_6_*:*_1_*:*_0"}], "description": "For each run, once all clients are connected, make an Inventory Request (`query` set to filter the used type of client) and present the response as a test result.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32087", "fixedVersions": [], "id": "32087", "issueType": "Improvement", "key": "PCP-422", "labels": [], "originalEstimate": "PT0S", "parent": "31796", "parentSummary": "Set up component performance testing for pcp-broker using pcp-test", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Won't Do", "resolutionDate": "2017-03-01T12:57:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pcp-test's Connection Test should make an Inventory Request at each run", "timeSpent": "PT0S", "updated": "2017-03-01T12:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "attachments": [], "comments": [], "components": ["leatherman-integration", "pcp-test"], "created": "2016-05-19T04:31:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7e264943"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3g7:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_24744352058_*|*_6_*:*_1_*:*_0"}], "description": "It would be helpful to distinguish pcp-test's log entries by thread ID as pcp-test deals with a large number of concurrent PCP clients.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32013", "fixedVersions": [], "id": "32013", "issueType": "Improvement", "key": "PCP-421", "labels": [], "originalEstimate": "PT0S", "parent": "31796", "parentSummary": "Set up component performance testing for pcp-broker using pcp-test", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Won't Do", "resolutionDate": "2017-03-01T12:57:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Consider adding thread ID to the header of pcp-test's log entries ", "timeSpent": "PT0S", "updated": "2017-03-01T12:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [], "components": ["pxp-agent package", "QA"], "created": "2016-05-18T09:48:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3f144a2e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-404"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz6exz:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_100969_*|*_3_*:*_1_*:*_76724226_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_520142039"}], "epicLinkSummary": "Enable agent-side broker failover in PXP Agent", "estimate": "PT0S", "externalId": "31840", "fixedVersions": [], "id": "31840", "issueType": "Task", "key": "PCP-420", "labels": ["ha-dep"], "originalEstimate": "PT0S", "parent": "31609", "parentSummary": "Enable agent-side broker failover in PXP Agent", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-05-25T07:37:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Create pxp-agent failover acceptance tests", "timeSpent": "PT0S", "updated": "2016-06-14T13:58:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Done - errors in previous comment were due to file ulimit on my laptop being set low", "created": "2016-05-26T09:40:00.000000"}], "components": ["pcp-test", "QA"], "created": "2016-05-18T09:47:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1f23a4a0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz6exr:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_144788_*|*_3_*:*_1_*:*_626917640_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_63703052"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31803", "fixedVersions": [], "id": "31803", "issueType": "Task", "key": "PCP-419", "labels": [], "originalEstimate": "PT0S", "parent": "31796", "parentSummary": "Set up component performance testing for pcp-broker using pcp-test", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-05-26T09:40:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Test pcp-test", "timeSpent": "PT0S", "updated": "2016-06-22T17:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pcp-test"], "created": "2016-05-18T05:51:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@741db8fd"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz6j0f:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1222423271_*|*_10007_*:*_1_*:*_1284368_*|*_3_*:*_1_*:*_7323573_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_78498625"}], "description": "Add docs and an example of configuration parameters for a Connection Test as a JSON object.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31518", "fixedVersions": [], "id": "31518", "issueType": "Improvement", "key": "PCP-418", "labels": [], "originalEstimate": "PT0S", "parent": "31796", "parentSummary": "Set up component performance testing for pcp-broker using pcp-test", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Done", "resolutionDate": "2016-06-02T09:36:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add docs for pcp-test's Connection Test", "timeSpent": "PT0S", "updated": "2016-06-22T17:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["cpp-pcp-client"], "created": "2016-05-18T05:18:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@27b86100"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyn8q7:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "It is now possible to set the `expires` entry of PCP Association requests when instantiating cpp-pcp-client's Connector."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_69463415_*|*_1_*:*_1_*:*_14651194_*|*_10007_*:*_1_*:*_3644907_*|*_10009_*:*_1_*:*_238362396_*|*_5_*:*_1_*:*_5724543743_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_110423348_*|*_10006_*:*_1_*:*_1203207424"}], "description": "The current constant value of the 'expires' entry of Associate Requests is 10 s; such value should be configurable and pxp-agent should configure it.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31883", "fixedVersions": ["cpp-pcp-client 1.2.0"], "id": "31883", "issueType": "Improvement", "key": "PCP-417", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-08-11T10:56:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "cpp-pcp-client should allow configuring 'expires' entry of Associate requests", "timeSpent": "PT0S", "updated": "2016-08-11T10:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [{"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "{quote}nor via puppet configuration{quote}\n\nshould i be able to configure this option via pxp-agent.conf?\n\n{code}\n    2016-06-13 22:35:25.425905 ERROR puppetlabs.pxp_agent.main:105 - field 'pcp-message-timeout' is not a valid configuration variable\n{code}\n\nif so, i guess i'm not sure how pxp-agent is getting installed, as it's not picking up this change, it appears. (latest master PA build here)", "created": "2016-06-13T23:54:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "oh.  it's changed to {{pcp-message-ttl}}", "created": "2016-06-14T10:05:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "yep, because we now use the 'timeout' term for the actual WebSocket and Association timeouts.\n", "created": "2016-06-14T10:24:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "The option has been renamed in https://github.com/puppetlabs/pxp-agent/pull/438 to {{pcp-message-ttl}}.\nDuring manual testing the value of the option influenced the {{expires}} field of the messages sent by pxp-agent.", "created": "2016-06-14T11:50:00.000000"}], "components": ["pxp-agent"], "created": "2016-05-18T05:13:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7a1f15d2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyn8pz:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Jun/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_1008403_*|*_1_*:*_1_*:*_14936978_*|*_10007_*:*_2_*:*_68930572_*|*_3_*:*_1_*:*_101882952_*|*_5_*:*_1_*:*_5007914456_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_1065417098_*|*_10006_*:*_1_*:*_1104496480"}], "description": "The current constant value of the 'expires' entry is set to  2 s; this should be a configurable option.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31583", "fixedVersions": ["pxp-agent 1.2.0"], "id": "31583", "issueType": "Improvement", "key": "PCP-416", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-06-14T11:51:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "'expires' entry of pxp-agent responses should be configurable", "timeSpent": "PT0S", "updated": "2016-08-11T10:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "attachments": [], "comments": [], "components": ["pcp-test"], "created": "2016-05-18T05:02:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5db5183b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3gf:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_24828878454_*|*_6_*:*_1_*:*_0"}], "description": "pcp-test log entries currently don't show the name of the source file. Fix this.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32308", "fixedVersions": [], "id": "32308", "issueType": "Improvement", "key": "PCP-415", "labels": [], "originalEstimate": "PT0S", "parent": "31796", "parentSummary": "Set up component performance testing for pcp-broker using pcp-test", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Won't Do", "resolutionDate": "2017-03-01T12:57:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Show source file name in pcp-test log entries", "timeSpent": "PT0S", "updated": "2017-03-01T12:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pcp-test"], "created": "2016-05-18T03:33:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@38d73acd"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz6izj:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_71341615_*|*_1_*:*_1_*:*_1230674347_*|*_10007_*:*_1_*:*_27793187_*|*_3_*:*_1_*:*_4640330_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_504670772_*|*_10006_*:*_1_*:*_513611813"}], "description": "Introduce a new option for setting the log level of the library.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31802", "fixedVersions": [], "id": "31802", "issueType": "Improvement", "key": "PCP-414", "labels": [], "originalEstimate": "PT0S", "parent": "31796", "parentSummary": "Set up component performance testing for pcp-broker using pcp-test", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-06-14T09:05:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Configure cpp-pcp-client log level separately in pcp-test", "timeSpent": "PT0S", "updated": "2016-06-14T09:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "https://github.com/puppetlabs/pcp-test/pull/18/files", "created": "2016-06-27T07:25:00.000000"}], "components": ["pcp-test"], "created": "2016-05-18T03:32:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4ed3da4e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyn7gf:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_4641308_*|*_1_*:*_1_*:*_1230736994_*|*_10007_*:*_1_*:*_23042643_*|*_3_*:*_2_*:*_604615914_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_73597913_*|*_10004_*:*_1_*:*_434843922_*|*_10006_*:*_1_*:*_1200854715"}], "description": "Collect WebSocket connection and PCP association timing stats when executing the connection test. Store the stats in the results file.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31611", "fixedVersions": [], "id": "31611", "issueType": "Improvement", "key": "PCP-413", "labels": [], "originalEstimate": "PT0S", "parent": "31796", "parentSummary": "Set up component performance testing for pcp-broker using pcp-test", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-06-28T11:51:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Collect and present WS and PCP connection stats in pcp-test", "timeSpent": "PT0S", "updated": "2016-06-28T11:51:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["cpp-pcp-client"], "created": "2016-05-17T11:05:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4e017774"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-404"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz6dtb:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "I need a break from PCP-389."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "0.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "18/May/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_451511_*|*_10007_*:*_1_*:*_66030621_*|*_3_*:*_1_*:*_240225_*|*_10009_*:*_1_*:*_12040769_*|*_4_*:*_1_*:*_1198888_*|*_5_*:*_2_*:*_7284944139_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_64986596"}], "description": "As of PCP-383 being completed; pxp-agent can failover from one broker uri to a second broker uri\n\nThe logging when it does this looks like:\n\n{code}2016-05-17 07:55:05.674016 WARN  puppetlabs.cpp_pcp_client.connector:651 - WebSocket connection to PCP broker lost; retrying\n2016-05-17 07:55:05.676087 INFO  puppetlabs.cpp_pcp_client.connection:330 - Connecting to 'wss://yem6i7fg3x7aehe.delivery.puppetlabs.net:8142/pcp/' with a connection timeout of 5000 ms\n2016-05-17 07:55:05.679617 WARN  puppetlabs.cpp_pcp_client.connection:429 - WebSocket on fail event (connection loss): Underlying Transport Error (code: 1006)\n2016-05-17 07:55:10.679535 WARN  puppetlabs.cpp_pcp_client.connection:207 - Failed to establish a WebSocket connection; retrying in 2 seconds\n2016-05-17 07:55:12.708980 INFO  puppetlabs.cpp_pcp_client.connection:330 - Connecting to 'wss://p2w2hz6qzf40nrt.delivery.puppetlabs.net:8142/pcp/' with a connection timeout of 5000 ms\n2016-05-17 07:55:13.022128 INFO  puppetlabs.cpp_pcp_client.connection:467 - Successfully established a WebSocket connection with the PCP broker at wss://p2w2hz6qzf40nrt.delivery.puppetlabs.net:8142/pcp/\n2016-05-17 07:55:13.109492 INFO  puppetlabs.cpp_pcp_client.connector:220 - Waiting for the PCP Session Association to complete\n2016-05-17 07:55:13.109963 INFO  puppetlabs.cpp_pcp_client.connector:442 - Sending Associate Session request with id 738ac6cb-8a05-4e97-8211-0eb1b78700f5{code}\n\nThe failover is implicit from the logging that connection to one uri failed but then connection to another uri succeeds; but there should perhaps be explicit logging that the agent is about to try connection failover. ", "epicLinkSummary": "Enable agent-side broker failover in PXP Agent", "estimate": "PT0S", "externalId": "31517", "fixedVersions": ["cpp-pcp-client 1.2.0"], "id": "31517", "issueType": "Improvement", "key": "PCP-412", "labels": ["ha-dep"], "originalEstimate": "PT0S", "parent": "31609", "parentSummary": "Enable agent-side broker failover in PXP Agent", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-05-19T03:49:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent should log explicitly when it fails over to another broker URI", "timeSpent": "PT0S", "updated": "2016-08-11T10:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "validated for kicks on ubuntu1404 at: cpp-pcp-client sha: 91ca7a858c6e7c20ae980cf449ca81e154607b8d\n{code}\n2016-06-14 17:05:54.703580 DEBUG puppetlabs.cpp_pcp_client.connector:305 - ^[[0", "created": "2016-06-14T18:08:00.000000"}], "components": ["cpp-pcp-client"], "created": "2016-05-16T03:03:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7964aa74"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz6izz:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Jun/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_12396828_*|*_1_*:*_1_*:*_1405260588_*|*_10007_*:*_1_*:*_20479792_*|*_3_*:*_1_*:*_90461787_*|*_5_*:*_1_*:*_4985291639_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_1948211_*|*_10006_*:*_1_*:*_1029331501"}], "description": "Collect Association stats for a given PCP connection, as done for WebSocket.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31610", "fixedVersions": ["cpp-pcp-client 1.2.0"], "id": "31610", "issueType": "Improvement", "key": "PCP-411", "labels": [], "originalEstimate": "PT0S", "parent": "31796", "parentSummary": "Set up component performance testing for pcp-broker using pcp-test", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-06-14T18:08:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Collect PCP Association timings in cpp-pcp-client", "timeSpent": "PT0S", "updated": "2016-08-11T10:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "do we have a good (easy) way of testing stuff like this without writing a bunch of c++ code?  should it even be validated?\n\nmost of our existing tests use the ruby pcp-client. should the tests be duplicated to each use cpp-pcp-client in addition to the ruby client?", "created": "2016-06-14T09:43:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "cpp-pcp-client only logs what's in ConnectionTimings", "created": "2016-06-14T09:49:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "yeah, i see this is used in pcp-test, so it's somewhat tested there.  i'm (y) to resolve this.", "created": "2016-06-14T10:02:00.000000"}], "components": ["cpp-pcp-client"], "created": "2016-05-16T03:02:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@227b756c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz6izr:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Jun/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_5736126_*|*_1_*:*_1_*:*_1405327600_*|*_10007_*:*_1_*:*_74563523_*|*_3_*:*_1_*:*_413414770_*|*_5_*:*_1_*:*_5014413674_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_15868919_*|*_10006_*:*_1_*:*_615920208"}], "description": "We collect WebSocket timings in PCPClient::Connection that are only used in the default event handlers. We should expose them via PCPClient::Connector.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31582", "fixedVersions": ["cpp-pcp-client 1.2.0"], "id": "31582", "issueType": "Improvement", "key": "PCP-410", "labels": [], "originalEstimate": "PT0S", "parent": "31796", "parentSummary": "Set up component performance testing for pcp-broker using pcp-test", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-06-14T10:03:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Expose WebSocket connection timings in cpp-pcp-client", "timeSpent": "PT0S", "updated": "2016-08-11T10:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pcp-test"], "created": "2016-05-16T02:59:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1511f720"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz6caf:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Useful for PCP-389."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3484581_*|*_10007_*:*_1_*:*_82343429_*|*_3_*:*_1_*:*_6126376_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_40304606"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31516", "fixedVersions": [], "id": "31516", "issueType": "Improvement", "key": "PCP-409", "labels": [], "originalEstimate": "PT0S", "parent": "31796", "parentSummary": "Set up component performance testing for pcp-broker using pcp-test", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-05-17T15:43:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Implement PCP message dispatch in pcp-test", "timeSpent": "PT0S", "updated": "2016-05-17T15:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pcp-test"], "created": "2016-05-16T02:57:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1ab8ab2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz6ca7:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Useful for PCP-389."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_926967_*|*_10007_*:*_1_*:*_4096445_*|*_3_*:*_1_*:*_2621461_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_124711072"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32307", "fixedVersions": [], "id": "32307", "issueType": "New Feature", "key": "PCP-408", "labels": [], "originalEstimate": "PT0S", "parent": "31796", "parentSummary": "Set up component performance testing for pcp-broker using pcp-test", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-05-17T15:43:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Configure SSL certs directory tree in pcp-test", "timeSpent": "PT0S", "updated": "2016-05-17T15:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pcp-test"], "created": "2016-05-16T02:56:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4fdf5bf2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz6c9z:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Useful for PCP-389."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_713283_*|*_10007_*:*_1_*:*_1812793_*|*_3_*:*_1_*:*_269890_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_129657949"}], "description": "Pass the list of broker URIs as a configuration option.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32156", "fixedVersions": [], "id": "32156", "issueType": "New Feature", "key": "PCP-407", "labels": [], "originalEstimate": "PT0S", "parent": "31796", "parentSummary": "Set up component performance testing for pcp-broker using pcp-test", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-05-17T15:44:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Configure broker WebSocket URIs in pcp-test", "timeSpent": "PT0S", "updated": "2016-05-17T15:44:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Note the behavior mentioned at https://puppet.atlassian.net/browse/PCP-464?focusedCommentId=312839&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-312839 in docs, that association failure will exit the agent, and not lead to failover.", "created": "2016-06-17T10:15:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "LGTM (y)", "created": "2016-06-30T14:32:00.000000"}], "components": ["cpp-pcp-client"], "created": "2016-05-13T13:22:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@15519c99"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-404"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyn4sf:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "30/Jun/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2231751402_*|*_10007_*:*_1_*:*_1032593_*|*_3_*:*_1_*:*_2951525_*|*_10009_*:*_1_*:*_13628_*|*_5_*:*_1_*:*_3615843119_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_7111707_*|*_10006_*:*_2_*:*_1908570260"}], "description": "Update the docs in README to mention creating PCPClient::Connector with a list of brokers.", "epicLinkSummary": "Enable agent-side broker failover in PXP Agent", "estimate": "PT0S", "externalId": "32010", "fixedVersions": ["cpp-pcp-client 1.2.0"], "id": "32010", "issueType": "New Feature", "key": "PCP-406", "labels": ["ha-dep"], "originalEstimate": "PT0S", "parent": "31609", "parentSummary": "Enable agent-side broker failover in PXP Agent", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-06-30T14:32:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Update cpp-pcp-client docs for list of brokers", "timeSpent": "PT0S", "updated": "2016-08-11T10:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Going to block this pending a discussion around multi-value CLI options", "created": "2016-06-27T15:57:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Ok, resuming. For now we're going to avoid any complication in specifying multiple option values on the command-line, and make this config-file only.", "created": "2016-06-27T17:23:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "validated on rhel7 at puppet agent master SHA: cbed386df00583b7235a4c1c07bddfb9f336e068\n\nthis is kinda strange to me:\n{code}\n    2016-06-28 17:25:22.554425 ERROR puppetlabs.pxp_agent.main:105 - field 'broker-ws-uris' must be of type Array\n{code}\nwhen configured with:\n{code}{\"broker-ws-uris\":\"wss://nsk9mergn2zmu8y.delivery.puppetlabs.net:8142/pcp/\",{code}\njust make it an array?\nit also took a pretty long time to fail...\n\nbut this works:\n{code}\n\"broker-ws-uris\":[\"wss://nsk9mergn2zmu8y.delivery.puppetlabs.net:8142/pcp/\"],\n{code}\n\nas does this (with the second broker not running):\n{code}\n{\"broker-ws-uris\":[\"wss://nsk9mergn2zmu8y.delivery.puppetlabs.net:8142/pcp/\",\"wss://kw49dteg38jzkn3.delivery.puppetlabs.net:8142/pcp/\"]\n{code}", "created": "2016-06-28T18:31:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "JSON (and I think HOCON) syntax is typed, so I think arrays have to be in square brackets. I considered making broker-ws-uri flexible, so it could take a string or an array, but I'm not sure whether that's a common practice or frowned upon.", "created": "2016-06-29T12:13:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "yeah, i meant make it an array for me.  as a user i find this surprising, but that doesn't mean it should be changed.  from my POV i should be able to specify a single URI to this config option and the other should just go away.  but maybe this isn't uniform/common, as you say", "created": "2016-06-29T13:11:00.000000"}], "components": [], "created": "2016-05-13T12:41:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3ee55961"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-404"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz60y7:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "add broker-ws-uris configuration (file only) option to support multiple brokers. Each being a failover from the last."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "29/Jun/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_16848995_*|*_1_*:*_1_*:*_2345941_*|*_10007_*:*_2_*:*_373606918_*|*_3_*:*_2_*:*_24623692_*|*_5_*:*_1_*:*_3774144912_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_3_*:*_552440304_*|*_10004_*:*_3_*:*_5250228_*|*_10006_*:*_2_*:*_3020469310"}], "description": "In the spike, we added a {{--failover-ws-uri}} option as a first step. The initial description for this problem suggests providing a list of brokers.\n\nExtend pxp-agent configuration to load a list of brokers from the JSON configuration file.\n\nUpdate documentation as well.", "epicLinkSummary": "Enable agent-side broker failover in PXP Agent", "estimate": "PT0S", "externalId": "32155", "fixedVersions": ["pxp-agent 1.2.0"], "id": "32155", "issueType": "New Feature", "key": "PCP-405", "labels": ["ha-dep"], "originalEstimate": "PT0S", "parent": "31609", "parentSummary": "Enable agent-side broker failover in PXP Agent", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-06-28T18:34:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Support a list of failover brokers", "timeSpent": "PT0S", "updated": "2016-08-11T10:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "any thoughts on what the maximum acceptable timeframe would be for a timeout failover?\ne.g.: primary broker is inaccessible, at what point should acceptance fail if the agents do not associate with the replica broker?", "created": "2016-07-22T09:57:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "2 minutes?", "created": "2016-07-22T10:36:00.000000"}], "components": [], "created": "2016-05-13T12:19:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Scrum Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "PCP"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@37bcff9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-9"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "HA: PXP Agent Broker Failover"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "Done"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "orange"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyqhkn:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/Jul/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_923929_*|*_6_*:*_1_*:*_0_*|*_10010_*:*_1_*:*_1106286508_*|*_10013_*:*_2_*:*_4302213859_*|*_10015_*:*_1_*:*_1663782906_*|*_10014_*:*_1_*:*_3939436"}], "description": "In a simple HA topology, you have a master-of-masters (MoM), a replica, and agents. All puppet agents are configured to prefer connecting to the MoM, failing over to the replica if need be. PXP agents are configured to prefer connecting to the PCP broker on the MoM first, failing over to the replica if needed. (note the PCP broker is never actually running on the replica, but it's important that the agents look there so we can trigger puppet runs after promoting the replica to be a MoM)\n\nIf an open websocket is disconnected, the client should first retry the same server. If that fails, it should proceed down the failover list until it finds one that works. The replica node is not actually running the PCP broker, so there is no risk of the agent connecting to the wrong node. But it will run the broker (and the orchestrator) after it's promoted to MoM, at which point it will be able to trigger puppet runs.\n\nFail-overs should be controlled by a list of brokers, something like\n{{pcp_brokers = [master, replica]}}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31609", "fixedVersions": ["cpp-pcp-client 1.2.0", "pxp-agent 1.2.0"], "id": "31609", "issueType": "Epic", "key": "PCP-404", "labels": ["ha-dep"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Done", "resolutionDate": "2016-08-03T10:11:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Enable agent-side broker failover in PXP Agent", "timeSpent": "PT0S", "updated": "2016-12-09T15:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This is probably debugging-only (no plans by Orchestrator to use it). It potentially explodes messages, and might exceed the 64KB limit. We wouldn't want this activated all the time.", "created": "2016-07-12T11:55:00.000000"}], "components": ["pxp-agent"], "created": "2016-05-13T04:43:00.000000", "creator": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@c94f3cd"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz6b33:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Jul/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_8935542966_*|*_6_*:*_1_*:*_0"}], "description": "Diagnosing problems with puppet runs triggered by {{pxp-module-puppet}} is next to impossible because {{pxp-module-puppet}} doesn't convey the information puppet writes to its stdout/stderr. This is in part due to the limitations of the {{Puppet::Util::Execution.execute}} utility function which is used for the actual execution of the puppet run which doesn't provide a way of obtaining standard error separate from standard output of the executed process.\nBut since when it comes to diagnosing a problem more information about the problem is better than none we should at least make sure we provide the puppet run's standard error mixed with its standard output to the client. This mixed output could be conveyed to the client by writing it to the {{pxp-module-puppet}}'s stderr - which is already collected by pxp-agent and passed to the client.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31515", "fixedVersions": [], "id": "31515", "issueType": "Improvement", "key": "PCP-403", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "resolution": "Won't Fix", "resolutionDate": "2016-08-24T14:49:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Provide puppet's output on pxp-module-puppet's stderr", "timeSpent": "PT0S", "updated": "2016-08-24T14:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "I noticed similar _Duplicate message add attempt rejected_ log entries today, in an instance where the broker completed start-up (but did then suffer from PCP-394).\n\n{code}2016-05-13 05:53:58,676 INFO  [async-dispatch-2] [p.t.s.w.jetty9-service] Initializing web server(s).\n2016-05-13 05:53:58,758 INFO  [async-dispatch-2] [p.p.b.service] Initializing broker service\n2016-05-13 05:53:58,993 INFO  [async-dispatch-2] [p.t.s.s.status-service] Registering status callback function for broker-service service\n2016-05-13 05:53:59,010 INFO  [async-dispatch-2] [p.t.s.n.nrepl-service] Starting nREPL service on 127.0.0.1 port 7888\n2016-05-13 05:53:59,024 INFO  [async-dispatch-2] [p.t.s.w.jetty9-service] Starting web server(s).\n2016-05-13 05:53:59,165 INFO  [async-dispatch-2] [p.t.s.w.jetty9-core] Starting web server.\n2016-05-13 05:53:59,314 INFO  [async-dispatch-2] [p.t.s.s.status-service] Registering status service HTTP API at /status\n2016-05-13 05:53:59,339 INFO  [async-dispatch-2] [p.p.b.service] Starting broker service\n2016-05-13 05:53:59,359 INFO  [async-dispatch-2] [o.a.a.s.k.p.PListStore] PListStore:[/opt/puppet-git-repos/pcp-broker/./test-resources/tmp/activemq/pcp/tmp_storage ] started\n2016-05-13 05:53:59,362 INFO  [async-dispatch-2] [o.a.a.b.BrokerService] Using Persistence Adapter: KahaDBPersistenceAdapter[/opt/puppet-git-repos/pcp-broker/./test-resources/tmp/activemq/pcp/KahaDB]\n2016-05-13 05:53:59,740 INFO  [async-dispatch-2] [o.a.a.s.k.MessageDatabase] KahaDB is version 4\n2016-05-13 05:53:59,785 INFO  [async-dispatch-2] [o.a.a.s.k.MessageDatabase] Recovering from the journal ...\n2016-05-13 05:53:59,926 INFO  [async-dispatch-2] [o.a.a.s.k.MessageDatabase] Recovery replayed 69 operations from the journal in 0.174 seconds.\n2016-05-13 05:53:59,939 INFO  [async-dispatch-2] [o.a.a.b.BrokerService] ActiveMQ 5.6.0 JMS Message Broker (pcp) is starting\n2016-05-13 05:53:59,939 INFO  [async-dispatch-2] [o.a.a.b.BrokerService] For help or more information please see: http://activemq.apache.org/\n2016-05-13 05:53:59,980 INFO  [async-dispatch-2] [o.a.a.b.s.SchedulerBroker] Scheduler using directory: ./test-resources/tmp/activemq/pcp/scheduler\n2016-05-13 05:54:01,389 INFO  [async-dispatch-2] [o.a.a.b.s.JobSchedulerStore] JobSchedulerStore:./test-resources/tmp/activemq/pcp/scheduler started\n2016-05-13 05:54:01,458 INFO  [async-dispatch-2] [o.a.a.b.BrokerService] ActiveMQ JMS Message Broker (pcp, ID:bzhnkb67jhfhyeg-43964-1463144039802-0:1) started\n2016-05-13 05:54:01,458 WARN  [async-dispatch-2] [o.a.a.b.BrokerService] Store limit is 100000 mb, whilst the data directory: /opt/puppet-git-repos/pcp-broker/./test-resources/tmp/activemq/pcp/KahaDB only has 5479 mb of usable space\n2016-05-13 05:54:01,458 ERROR [async-dispatch-2] [o.a.a.b.BrokerService] Temporary Store limit is 50000 mb, whilst the temporary data directory: /opt/puppet-git-repos/pcp-broker/./test-resources/tmp/activemq/pcp/tmp_storage only has 5479 mb of usable space\n2016-05-13 05:54:01,480 WARN  [JobScheduler:JMS] [o.a.a.s.k.MessageDatabase] Duplicate message add attempt rejected. Destination: delivery, Message id: ID:bzhnkb67jhfhyeg-60674-1463143933046-187:1:1:1:1\n2016-05-13 05:54:01,483 WARN  [JobScheduler:JMS] [o.a.a.s.k.MessageDatabase] Duplicate message add attempt rejected. Destination: delivery, Message id: ID:bzhnkb67jhfhyeg-60674-1463143933046-189:1:1:1:1\n2016-05-13 05:54:01,494 INFO  [async-dispatch-2] [o.a.a.b.TransportConnector] Connector vm://pcp Started\n2016-05-13 05:54:01,522 INFO  [async-dispatch-2] [o.s.j.c.CachingConnectionFactory] Established shared JMS Connection: ActiveMQConnection {id=ID:bzhnkb67jhfhyeg-43964-1463144039802-5:1,clientId=null,started=false}\n2016-05-13 05:54:01,624 INFO  [async-dispatch-2] [o.s.j.c.CachingConnectionFactory] Established shared JMS Connection: ActiveMQConnection {id=ID:bzhnkb67jhfhyeg-43964-1463144039802-7:1,clientId=null,started=false}\n2016-05-13 05:54:01,678 DEBUG [async-dispatch-2] [p.p.b.service] Broker service started\n2016-05-13 05:54:01,835 TRACE [DefaultMessageListenerContainer-1] [p.p.b.activemq] Consuming message 7cf6e15f-d9b6-4830-af52-fd0d50a9038d for pcp://example.com/agent from delivery{code}\n", "created": "2016-05-13T10:24:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Seen again this morning\n\n{code}[root@q36wlrzojmwfdw4 ~]# cat /var/log/pcp-broker.log\n2016-05-16 02:54:36,204 INFO  [async-dispatch-2] [p.t.s.w.jetty9-service] Initializing web server(s).\n2016-05-16 02:54:36,250 INFO  [async-dispatch-2] [p.p.b.service] Initializing broker service\n2016-05-16 02:54:36,427 INFO  [async-dispatch-2] [p.t.s.s.status-service] Registering status callback function for broker-service service\n2016-05-16 02:54:36,442 INFO  [async-dispatch-2] [p.t.s.n.nrepl-service] Starting nREPL service on 127.0.0.1 port 7888\n2016-05-16 02:54:36,449 INFO  [async-dispatch-2] [p.t.s.w.jetty9-service] Starting web server(s).\n2016-05-16 02:54:36,545 INFO  [async-dispatch-2] [p.t.s.w.jetty9-core] Starting web server.\n2016-05-16 02:54:36,644 INFO  [async-dispatch-2] [p.t.s.s.status-service] Registering status service HTTP API at /status\n2016-05-16 02:54:36,658 INFO  [async-dispatch-2] [p.p.b.service] Starting broker service\n2016-05-16 02:54:36,677 INFO  [async-dispatch-2] [o.a.a.s.k.p.PListStore] PListStore:[/opt/puppet-git-repos/pcp-broker/./test-resources/tmp/activemq/pcp/tmp_storage ] started\n2016-05-16 02:54:36,680 INFO  [async-dispatch-2] [o.a.a.b.BrokerService] Using Persistence Adapter: KahaDBPersistenceAdapter[/opt/puppet-git-repos/pcp-broker/./test-resources/tmp/activemq/pcp/KahaDB]\n2016-05-16 02:54:37,100 INFO  [async-dispatch-2] [o.a.a.s.k.MessageDatabase] KahaDB is version 4\n2016-05-16 02:54:37,134 INFO  [async-dispatch-2] [o.a.a.s.k.MessageDatabase] Recovering from the journal ...\n2016-05-16 02:54:37,278 INFO  [async-dispatch-2] [o.a.a.s.k.MessageDatabase] Recovery replayed 179 operations from the journal in 0.165 seconds.\n2016-05-16 02:54:37,288 INFO  [async-dispatch-2] [o.a.a.b.BrokerService] ActiveMQ 5.6.0 JMS Message Broker (pcp) is starting\n2016-05-16 02:54:37,289 INFO  [async-dispatch-2] [o.a.a.b.BrokerService] For help or more information please see: http://activemq.apache.org/\n2016-05-16 02:54:37,336 INFO  [async-dispatch-2] [o.a.a.b.s.SchedulerBroker] Scheduler using directory: ./test-resources/tmp/activemq/pcp/scheduler\n2016-05-16 02:54:37,859 INFO  [async-dispatch-2] [o.a.a.b.s.JobSchedulerStore] JobSchedulerStore:./test-resources/tmp/activemq/pcp/scheduler started\n2016-05-16 02:54:37,907 WARN  [JobScheduler:JMS] [o.a.a.s.k.MessageDatabase] Duplicate message add attempt rejected. Destination: delivery, Message id: ID:q36wlrzojmwfdw4-52442-1463391797472-3897:1:1:1:1{code}\n\n{code}{\"service_name\":\"broker-service\",\"service_version\":\"0.7.1-SNAPSHOT\",\"service_status_version\":1,\"detail_level\":\"info\",\"state\":\"starting\",\"status\":{\"metrics\":{\"puppetlabs.pcp.message-queueing\":{\"rates\":{\"1\":0.0,\"5\":0.0,\"15\":0.0,\"total\":0},\"mean\":0.0,\"std-dev\":0.0,\"percentiles\":{\"1.0\":0.0,\"0.999\":0.0,\"0.99\":0.0,\"0.95\":0.0,\"0.75\":0.0},\"largest\":0,\"smallest\":0},\"puppetlabs.pcp.on-close\":{\"rates\":{\"1\":0.04141308718265475,\"5\":0.04553304527502187,\"15\":0.029671441576639486,\"total\":40},\"mean\":192452.63180298553,\"std-dev\":121805.31126676755,\"percentiles\":{\"1.0\":1719643.0,\"0.999\":506198.0,\"0.99\":506198.0,\"0.95\":506198.0,\"0.75\":238678.0},\"largest\":1719643,\"smallest\":100358},\"puppetlabs.pcp.on-connect\":{\"rates\":{\"1\":0.04141308718265475,\"5\":0.04553304527502187,\"15\":0.029671441576639486,\"total\":40},\"mean\":1675029.400858929,\"std-dev\":694515.8550875665,\"percentiles\":{\"1.0\":1.0673479E7,\"0.999\":2767016.0,\"0.99\":2767016.0,\"0.95\":2767016.0,\"0.75\":2767016.0},\"largest\":10673479,\"smallest\":1082791},\"puppetlabs.pcp.on-message\":{\"rates\":{\"1\":0.0,\"5\":0.0,\"15\":0.0,\"total\":0},\"mean\":0.0,\"std-dev\":0.0,\"percentiles\":{\"1.0\":0.0,\"0.999\":0.0,\"0.99\":0.0,\"0.95\":0.0,\"0.75\":0.0},\"largest\":0,\"smallest\":0},\"puppetlabs.pcp.on-send\":{\"rates\":{\"1\":0.0,\"5\":0.0,\"15\":0.0,\"total\":0},\"mean\":0.0,\"std-dev\":0.0,\"percentiles\":{\"1.0\":0.0,\"0.999\":0.0,\"0.99\":0.0,\"0.95\":0.0,\"0.75\":0.0},\"largest\":0,\"smallest\":0}}}}{code}", "created": "2016-05-16T04:09:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Messages are no longer queued.", "created": "2017-01-06T13:20:00.000000"}], "components": ["pcp-broker"], "created": "2016-05-12T10:22:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@59198aa7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz69zj:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/Jan/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_20663905527_*|*_5_*:*_1_*:*_1202084637_*|*_6_*:*_1_*:*_0"}], "description": "I noticed when testing PCP-394 that on one occasion; starting pcp-broker when 100 messages were queued up (deliberately undeliverable), pcp-broker failed to complete start-up and go into the running state\n\nSetup:\n* Run pcp-broker using lein tk\n* Send 100 rpc_non_blocking requests to an undeliverable address e.g. pcp://mickey.mouse/agent with a long expiry e.g. 3600 seconds\n* Kill pcp-broker\n* Run pcp-broker again. Wait for port 8142 to be listening; and then curl https://\\[broker_host\\]:8142/status/v1/services/broker-service until it has status \"running\"\n\nOn one occasion (not seen it happen a second time yet), the broker never went into the running state. Curling the status endpoint showed:\n\n{code}{\"service_name\":\"broker-service\",\"service_version\":\"0.7.1-SNAPSHOT\",\"service_status_version\":1,\"detail_level\":\"info\",\"state\":\"starting\",\"status\":{\"metrics\":{\"puppetlabs.pcp.message-queueing\":{\"rates\":{\"1\":0.0,\"5\":0.0,\"15\":0.0,\"total\":0},\"mean\":0.0,\"std-dev\":0.0,\"percentiles\":{\"1.0\":0.0,\"0.999\":0.0,\"0.99\":0.0,\"0.95\":0.0,\"0.75\":0.0},\"largest\":0,\"smallest\":0},\"puppetlabs.pcp.on-close\":{\"rates\":{\"1\":0.02113116026294621,\"5\":0.07094340019354337,\"15\":0.1377323778931063,\"total\":11},\"mean\":131138.8644352189,\"std-dev\":63182.13206590631,\"percentiles\":{\"1.0\":1544552.0,\"0.999\":1544552.0,\"0.99\":149157.0,\"0.95\":149157.0,\"0.75\":126711.0},\"largest\":1544552,\"smallest\":116117},\"puppetlabs.pcp.on-connect\":{\"rates\":{\"1\":0.02113116026294621,\"5\":0.07094340019354337,\"15\":0.1377323778931063,\"total\":11},\"mean\":1499011.7376015254,\"std-dev\":444708.93854757433,\"percentiles\":{\"1.0\":9898519.0,\"0.999\":9898519.0,\"0.99\":2062199.0,\"0.95\":2062199.0,\"0.75\":1393656.0},\"largest\":9898519,\"smallest\":1236697},\"puppetlabs.pcp.on-message\":{\"rates\":{\"1\":0.0,\"5\":0.0,\"15\":0.0,\"total\":0},\"mean\":0.0,\"std-dev\":0.0,\"percentiles\":{\"1.0\":0.0,\"0.999\":0.0,\"0.99\":0.0,\"0.95\":0.0,\"0.75\":0.0},\"largest\":0,\"smallest\":0},\"puppetlabs.pcp.on-send\":{\"rates\":{\"1\":0.0,\"5\":0.0,\"15\":0.0,\"total\":0},\"mean\":0.0,\"std-dev\":0.0,\"percentiles\":{\"1.0\":0.0,\"0.999\":0.0,\"0.99\":0.0,\"0.95\":0.0,\"0.75\":0.0},\"largest\":0,\"smallest\":0}}}}{code}\n\npcp-broker's log showed the following:\n\n{code}2016-05-12 07:02:38,692 INFO  [async-dispatch-2] [p.t.s.w.jetty9-service] Initializing web server(s).\n2016-05-12 07:02:38,740 INFO  [async-dispatch-2] [p.p.b.service] Initializing broker service\n2016-05-12 07:02:38,919 INFO  [async-dispatch-2] [p.t.s.s.status-service] Registering status callback function for broker-service service\n2016-05-12 07:02:38,935 INFO  [async-dispatch-2] [p.t.s.n.nrepl-service] Starting nREPL service on 127.0.0.1 port 7888\n2016-05-12 07:02:38,943 INFO  [async-dispatch-2] [p.t.s.w.jetty9-service] Starting web server(s).\n2016-05-12 07:02:39,047 INFO  [async-dispatch-2] [p.t.s.w.jetty9-core] Starting web server.\n2016-05-12 07:02:39,143 INFO  [async-dispatch-2] [p.t.s.s.status-service] Registering status service HTTP API at /status\n2016-05-12 07:02:39,156 INFO  [async-dispatch-2] [p.p.b.service] Starting broker service\n2016-05-12 07:02:39,171 INFO  [async-dispatch-2] [o.a.a.s.k.p.PListStore] PListStore:[/opt/puppet-git-repos/pcp-broker/./test-resources/tmp/activemq/pcp/tmp_storage ] started\n2016-05-12 07:02:39,174 INFO  [async-dispatch-2] [o.a.a.b.BrokerService] Using Persistence Adapter: KahaDBPersistenceAdapter[/opt/puppet-git-repos/pcp-broker/./test-resources/tmp/activemq/pcp/KahaDB]\n2016-05-12 07:02:39,581 INFO  [async-dispatch-2] [o.a.a.s.k.MessageDatabase] KahaDB is version 4\n2016-05-12 07:02:39,611 INFO  [async-dispatch-2] [o.a.a.s.k.MessageDatabase] Recovering from the journal ...\n2016-05-12 07:02:39,763 INFO  [async-dispatch-2] [o.a.a.s.k.MessageDatabase] Recovery replayed 240 operations from the journal in 0.174 seconds.\n2016-05-12 07:02:39,774 INFO  [async-dispatch-2] [o.a.a.b.BrokerService] ActiveMQ 5.6.0 JMS Message Broker (pcp) is starting\n2016-05-12 07:02:39,774 INFO  [async-dispatch-2] [o.a.a.b.BrokerService] For help or more information please see: http://activemq.apache.org/\n2016-05-12 07:02:39,809 INFO  [async-dispatch-2] [o.a.a.b.s.SchedulerBroker] Scheduler using directory: ./test-resources/tmp/activemq/pcp/scheduler\n2016-05-12 07:02:40,274 INFO  [async-dispatch-2] [o.a.a.b.s.JobSchedulerStore] JobSchedulerStore:./test-resources/tmp/activemq/pcp/scheduler started\n2016-05-12 07:02:40,319 WARN  [JobScheduler:JMS] [o.a.a.s.k.MessageDatabase] Duplicate message add attempt rejected. Destination: delivery, Message id: ID:hichi01zg21qstg-35785-1463061697459-367:1:1:1:1\n2016-05-12 07:02:40,326 WARN  [JobScheduler:JMS] [o.a.a.s.k.MessageDatabase] Duplicate message add attempt rejected. Destination: delivery, Message id: ID:hichi01zg21qstg-35785-1463061697459-381:1:1:1:1{code}\n\nOn killing and restarting pcp-broker, it appeared to start up correctly and have all 100 messages queued.", "environment": "pcp-broker running on EL7 using 'lein tk'\nUsed ruby-pcp-client to send pcp-broker undeliverable messages", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31514", "fixedVersions": ["pcp-broker 1.0.0"], "id": "31514", "issueType": "Bug", "key": "PCP-402", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2017-01-06T13:20:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pcp-broker might fail to start up when messages are queued", "timeSpent": "PT0S", "updated": "2017-01-20T11:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Expiration was removed in pcp-broker 1.0.0.", "created": "2017-01-06T13:20:00.000000"}], "components": ["pcp-broker"], "created": "2016-05-12T05:02:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@74bb20c8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz69vz:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/Jan/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_20683127968_*|*_5_*:*_1_*:*_1202044776_*|*_6_*:*_2_*:*_8524"}], "description": "During investigation of PCP-394 , it appears there is a fault case where pcp-broker might have one of its own messages expire\n\nHere in core.clj this case is handled: https://github.com/puppetlabs/pcp-broker/blob/6b413bcdbb9111cc2621c36c1e9e9c10b7126d11/src/puppetlabs/pcp/broker/core.clj#L168-L171\n\n{code}(if (= \"pcp:///server\" sender)\n  (do\n    (sl/maplog :trace {:type :message-expired-from-server}\n               (i18n/trs \"Server generated message expired.  Dropping\"))\n    capsule){code}\n\nAll we do is log at trace level that the ttl_expired message is being dropped because the broker was the sender.\n\nIn this case; the logging should at least be at warning level; and we should consider either retrying the message or sending a pcp_error to the target client(s) instead? \nCurrently the target client receives nothing when it will be waiting for some message from broker.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32306", "fixedVersions": ["pcp-broker 1.0.0"], "id": "32306", "issueType": "Bug", "key": "PCP-401", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2017-01-06T13:20:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pcp-broker should handle when its own messages expire", "timeSpent": "PT0S", "updated": "2017-01-20T11:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "* when verified == false, that a LOG_WARNING should be generated with a message about SSL certificate verification failure\n\n{{verified == false}} on the broker side?", "created": "2016-07-11T16:06:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "looks like pcp-test cycles through certnames, as i expect...\n\nbut ironically, i can't get it to trigger certname mismatch/fails.  tips?", "created": "2016-07-11T16:20:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "i don't see how to trigger this from pcp-test. \n\ni tried putting garbage in the agent key and cert, but of course this causes them to not be loaded/used because they are invalid:\n\n{code}\n2016-07-18 21:44:31.258295 TRACE puppetlabs.cpp_pcp_client.client_metadata:70 - Retrieving client name from certificate '/opt/puppet-git-repos/pcp-test/dev-resources/pcp-certificates/test/0004agent.example.co\nm_crt.pem'\n2016-07-18 21:44:31.258803 ERROR puppetlabs.pcp-test.command:60 - Unexpected failure: certificate file '/opt/puppet-git-repos/pcp-test/dev-resources/pcp-certificates/test/0004agent.example.com_crt.pem' is inv\nalid\n{code}", "created": "2016-07-18T15:46:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "To obtain the new log entry, I configured pcp-test or pxp-agent to connect to {{wss://broker.example.com:8142/pcp}}, whereas I set the broker with a different common name in certs (I used the usual 'localhost' set", "created": "2016-07-19T10:13:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "thanks, Ale.  that works for me!", "created": "2016-07-19T10:58:00.000000"}], "components": ["cpp-pcp-client"], "created": "2016-05-11T10:29:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "* if certification name verification failed, there should be a clear error\n* when verified == false, that a LOG_WARNING should be generated with a message about SSL certificate verification failure"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@688c8cad"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyn2z3:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "SSL subject name verification failure will now issue a warning."}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Spare bandwidth"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/Jul/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_74003373_*|*_1_*:*_1_*:*_4835346530_*|*_10007_*:*_1_*:*_136517634_*|*_5_*:*_1_*:*_517702252_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_718832295_*|*_10006_*:*_1_*:*_198590555_*|*_10005_*:*_1_*:*_34922"}], "description": "See discussion in PR #147:  https://github.com/puppetlabs/cpp-pcp-client/pull/147#discussion_r58585148\n\nI suggest we follow the pattern at https://gist.github.com/Iristyle/d647cb7b867b60b9d3260c5a134d4b51#file-console-services-log-L1626 to issue a warning message, but not halt the client. I'd avoid throwing an exception directly from the verification function, as it's called via SSL code and that would likely not cleanup correctly when an exception is thrown.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32008", "fixedVersions": ["cpp-pcp-client 1.1.4"], "id": "32008", "issueType": "Improvement", "key": "PCP-400", "labels": [], "originalEstimate": "PT0S", "parent": "31929", "parentSummary": "Remediation steps in response to the PXP Audit", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-07-19T10:58:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Improve logging of SSL verification in cpp-pcp-client", "timeSpent": "PT0S", "updated": "2016-07-25T10:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pcp-broker"], "created": "2016-05-11T09:13:00.000000", "creator": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "customFieldValues": [{"fieldName": "Scrum Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "PCP"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "Dumpling"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@30938b3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-6"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "PCP Version 2 Protocol"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "Done"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "green"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hynulj:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Feb/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_18343091090_*|*_6_*:*_1_*:*_0_*|*_10010_*:*_1_*:*_986766_*|*_10013_*:*_1_*:*_4142458186_*|*_10015_*:*_1_*:*_335462077_*|*_10014_*:*_1_*:*_3134423418"}], "description": "Implement new protocol proposed at https://github.com/puppetlabs/pcp-specifications/tree/master/pcp/versions/2.0.\n\nWe'd like to simplify the broker in ways that make it less likely to interfere with other services in the JVM and be faster and more reliable:\n* Remove use of ActiveMQ queues (dropping TTLs and debug chunks)\n* Remove session association (client types are determined based on url, not a separate message)\n* Make it simpler to implement clients\n* Extend inventory tracking with real-time updates.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31882", "fixedVersions": [], "id": "31882", "issueType": "Epic", "key": "PCP-399", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "resolution": "Done", "resolutionDate": "2017-03-07T18:20:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "PCP Version 2 Protocol", "timeSpent": "PT0S", "updated": "2017-04-19T10:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "[~accountid:557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52] pxp-agent version?", "created": "2016-05-10T14:07:00.000000"}, {"author": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "body": "1.1.3 from a recent couch build", "created": "2016-05-10T14:09:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I'm using \n{code}\n{\n    \"broker-ws-uri\": \"wss://broker.example.com:8142/pcp\",\n    \"ssl-ca-cert\": \"/Users/michaelsmith/puppetlabs/pcp-broker/test-resources/ssl/certs/ca.pem\",\n    \"ssl-cert\": \"/Users/michaelsmith/puppetlabs/pcp-broker/test-resources/ssl/certs/client02.example.com.pem\",\n    \"ssl-key\": \"/Users/michaelsmith/puppetlabs/pcp-broker/test-resources/ssl/private_keys/client02.example.com.pem\",\n    \"spool-dir\": \"/Users/michaelsmith/puppetlabs/pxp-agent/dev-resources/spool\",\n    \"modules-dir\": \"/Users/michaelsmith/puppetlabs/pxp-agent/modules\",\n    \"logfile\": \"-\",\n    \"loglevel\": \"trace\",\n    \"foreground\": true\n}\n{code}\n\nand get\n{code}\n2016-05-10 15:44:56.796757 INFO  puppetlabs.pxp_agent.request_processor:760 - Loading external modules configuration from /etc/puppetlabs/pxp-agent/modules\n2016-05-10 15:44:56.796919 INFO  puppetlabs.pxp_agent.request_processor:805 - Loading external modules from /Users/michaelsmith/puppetlabs/pxp-agent/modules\n{code}\n\nThat doesn't seem to match the behavior you mention. Using pxp-agent#stable.", "created": "2016-05-10T16:46:00.000000"}, {"author": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "body": "Is there a reason to expect a difference between stable and 1.1.3", "created": "2016-05-10T16:52:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "We're unable to reproduce this issue, so closing unless you have further information to help us do so.", "created": "2016-05-26T08:13:00.000000"}], "components": [], "created": "2016-05-10T13:52:00.000000", "creator": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@26c3fe03"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3if:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/May/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1362045257_*|*_6_*:*_1_*:*_0"}], "description": "pxp-agent seems to be ignoring the modules-dir in the config file. Passing the same option on the commandline works.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31931", "fixedVersions": [], "id": "31931", "issueType": "Bug", "key": "PCP-398", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "resolution": "Cannot Reproduce", "resolutionDate": "2016-05-26T08:13:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp does not honor modules-dir in the config file", "timeSpent": "PT0S", "updated": "2016-05-26T08:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "We're unable to reproduce this issue, so closing unless you have further information to help us do so.", "created": "2016-05-26T08:14:00.000000"}], "components": [], "created": "2016-05-10T13:51:00.000000", "creator": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4e2818a0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3i7:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/May/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1362133866_*|*_6_*:*_1_*:*_0"}], "description": "When the pxp-module-puppet is not found the clj-pxp-puppet times out instead of returning a useful error.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31881", "fixedVersions": [], "id": "31881", "issueType": "Bug", "key": "PCP-397", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "resolution": "Cannot Reproduce", "resolutionDate": "2016-05-26T08:14:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "when the pxp-module-puppet is not found pcp-puppet times out", "timeSpent": "PT0S", "updated": "2016-05-26T08:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This is done via transition to clj-parent for most projects. Will do as needed for the rest.", "created": "2017-01-06T13:21:00.000000"}], "components": ["clj-pcp-client", "clj-pcp-common", "clj-pxp-puppet", "pcp-broker"], "created": "2016-05-09T13:23:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4e12c688"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz66nb:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/Jan/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_20912264091_*|*_6_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31608", "fixedVersions": [], "id": "31608", "issueType": "Task", "key": "PCP-396", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Done", "resolutionDate": "2017-01-06T13:21:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Update clj components to clolure 1.7.0", "timeSpent": "PT0S", "updated": "2017-01-06T13:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pcp-test"], "created": "2016-05-09T05:25:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2c17ecf9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz667b:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "This can help spiking connection test"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3576_*|*_10007_*:*_1_*:*_63810620_*|*_3_*:*_1_*:*_105200250_*|*_5_*:*_1_*:*_0"}], "description": "Support a JSON-based configuration file, as pxp-agent does.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31801", "fixedVersions": [], "id": "31801", "issueType": "New Feature", "key": "PCP-395", "labels": [], "originalEstimate": "PT0S", "parent": "31796", "parentSummary": "Set up component performance testing for pcp-broker using pcp-test", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Done", "resolutionDate": "2016-05-11T04:22:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pcp-test should have a configuration file", "timeSpent": "PT0S", "updated": "2016-05-16T14:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "attachments": [], "comments": [{"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:3bbf1c83-df0e-4372-887d-cfc38dee9330] I assume this should be retargeted for puppet-agent 1.5.2?", "created": "2016-05-25T09:08:00.000000"}, {"author": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "body": "[~accountid:557058:3da95088-202d-4082-a15a-eb2e812f2578], yes, this should be retargeted for 1.5.2.", "created": "2016-05-25T12:14:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "[~accountid:623c0f8ca1d81f0069d8e00f] could you clarify a little what you mean by {{your Debian package puppet-agent installs a logrotate definition /etc/logrotate.d/pxp-agent too but doesn't setup this pxp-agent}}? It sounds like trying to run {{systemctl kill}} before the service has been started prints an error message, and calling {{systemctl status}} first initializes the service within systemd in some way.\n\nDoes that mean we should be doing something in https://github.com/puppetlabs/pxp-agent/blob/master/ext/systemd/pxp-agent.service#L11-L12 to initialize the service?\n\nUpdate: Oh, nevermind. The fix just checks status, and only does {{systemctl kill}} if the service is running.", "created": "2016-06-02T13:06:00.000000"}, {"author": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "body": "This pxp-agent made it through puppet-agent pipelines at https://jenkins.puppetlabs.com/view/puppet-agent/view/stable/view/puppet-agent/job/platform_puppet-agent_init-van-int_suite-daily-stable/131/ \\o/", "created": "2016-06-07T16:59:00.000000"}], "components": [], "created": "2016-05-09T02:39:00.000000", "creator": "623c0f8ca1d81f0069d8e00f", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": ["Services"]}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1d152bd7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz601r:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Release Engineering"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/May/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_367846815_*|*_1_*:*_1_*:*_29266165_*|*_10007_*:*_1_*:*_63705619_*|*_5_*:*_1_*:*_3274646511_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2096404897"}], "description": "Hey,\n\nyour Debian package puppet-agent installs a logrotate definition /etc/logrotate.d/pxp-agent too but doesn't setup this pxp-agent. Thus logrotate is complaining it can not restart the daemon.\n\nTo avoid this may I suggest a slight change in this logrotate script:\n\n{code:java}\n--- /etc/logrotate.d/a/pxp-agent\n+++ /etc/logrotate.d/b/pxp-agent\n@@ -6,6 +6,6 @@\n     notifempty\n     sharedscripts\n     postrotate\n-        systemctl kill --signal=USR2 --kill-who=main pxp-agent.service\n+        systemctl status pxp-agent.service 2>/dev/null > /dev/null && systemctl kill --signal=USR2 --kill-who=main pxp-agent.service\n     endscript\n }\n{code}\n\nThank you", "environment": "{noformat}\nii  puppet-agent                   1.4.2-1jessie\n\n# dpkg -S /etc/logrotate.d/pxp-agent\npuppet-agent: /etc/logrotate.d/pxp-agent\n\n# facter -p os\n{\n  architecture => \"amd64\",\n  distro => {\n    codename => \"jessie\",\n    description => \"Debian GNU/Linux 8.4 (jessie)\",\n    id => \"Debian\",\n    release => {\n      full => \"8.4\",\n      major => \"8\",\n      minor => \"4\"\n    }\n  },\n  family => \"Debian\",\n  hardware => \"x86_64\",\n  name => \"Debian\",\n  release => {\n    full => \"8.4\",\n    major => \"8\",\n    minor => \"4\"\n  },\n  selinux => {\n    enabled => false\n  }\n}\n\n{noformat}\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32305", "fixedVersions": ["pxp-agent 1.1.4"], "id": "32305", "issueType": "Improvement", "key": "PCP-453", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Trivial", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "623c0f8ca1d81f0069d8e00f", "resolution": "Fixed", "resolutionDate": "2016-06-07T16:59:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "puppet-agent installed /etc/logrotate/pxp-agent annoys", "timeSpent": "PT0S", "updated": "2016-08-24T09:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "created": "2016-05-13T07:12:00.000000", "name": "2016-05-13_jprofiler_data.zip", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12307"}, {"attacher": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "created": "2016-05-12T07:28:00.000000", "name": "PCP-294-2016-05-11.zip", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12299"}, {"attacher": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "created": "2016-05-06T10:56:00.000000", "name": "pcp-broker.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12306"}], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Occurred again twice in one job:\n\nhttp://jenkins.puppetlabs.com:8080/job/platform_pxp-agent_intn-van-sys_master/108/\n\ntests.reconnect_after_broker_unavailable.rb on Redhat 7 and Ubuntu 14.04\n\nAnd again in the next run for Redhat 7:\nhttp://jenkins.puppetlabs.com:8080/job/platform_pxp-agent_intn-van-sys_master/109/SLAVE_LABEL=beaker,TEST_TARGET=redhat7-64a/", "created": "2016-05-06T04:18:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Reproduced outside CI, attaching pcp-broker.log\n\nIt appears to show a ttl_expired being sent EDIT: pcp-client does not receive the ttl_expired \nThe expired message appears to be sent from pcp-broker to pcp-client", "created": "2016-05-06T11:00:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Spent more time on this today. At one point the test passed in a continuous loop for an hour and a half (7:30-9:00AM PST) before failing. Each test run took roughly a minute, so that's about 90 executions of the test without 1 failure.\n\nFor the first failure I saw today", "created": "2016-05-09T10:41:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Any theories? If the VM weren't rescheduled, would we see clock drift or a gap like that?\n\nOne I come up with is a JVM GC run.", "created": "2016-05-09T11:08:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "One more pcp-broker.log :\n\n{code}2016-05-10 03:24:11,820 INFO  [async-dispatch-2] [p.t.s.w.jetty9-service] Initializing web server(s).\n2016-05-10 03:24:11,858 INFO  [async-dispatch-2] [p.p.b.service] Initializing broker service\n2016-05-10 03:24:12,036 INFO  [async-dispatch-2] [p.t.s.s.status-service] Registering status callback function for broker-service service\n2016-05-10 03:24:12,052 INFO  [async-dispatch-2] [p.t.s.n.nrepl-service] Starting nREPL service on 127.0.0.1 port 7888\n2016-05-10 03:24:12,060 INFO  [async-dispatch-2] [p.t.s.w.jetty9-service] Starting web server(s).\n2016-05-10 03:24:12,164 INFO  [async-dispatch-2] [p.t.s.w.jetty9-core] Starting web server.\n2016-05-10 03:24:12,262 INFO  [async-dispatch-2] [p.t.s.s.status-service] Registering status service HTTP API at /status\n2016-05-10 03:24:12,274 INFO  [async-dispatch-2] [p.p.b.service] Starting broker service\n2016-05-10 03:24:12,290 INFO  [async-dispatch-2] [o.a.a.s.k.p.PListStore] PListStore:[/opt/puppet-git-repos/pcp-broker/./test-resources/tmp/activemq/pcp/tmp_storage ] started\n2016-05-10 03:24:12,293 INFO  [async-dispatch-2] [o.a.a.b.BrokerService] Using Persistence Adapter: KahaDBPersistenceAdapter[/opt/puppet-git-repos/pcp-broker/./test-resources/tmp/activemq/pcp/KahaDB]\n2016-05-10 03:24:15,700 INFO  [async-dispatch-2] [o.a.a.s.k.MessageDatabase] KahaDB is version 4\n2016-05-10 03:24:15,731 INFO  [async-dispatch-2] [o.a.a.s.k.MessageDatabase] Recovering from the journal ...\n2016-05-10 03:24:15,839 INFO  [async-dispatch-2] [o.a.a.s.k.MessageDatabase] Recovery replayed 3 operations from the journal in 0.131 seconds.\n2016-05-10 03:24:15,850 INFO  [async-dispatch-2] [o.a.a.b.BrokerService] ActiveMQ 5.6.0 JMS Message Broker (pcp) is starting\n2016-05-10 03:24:15,850 INFO  [async-dispatch-2] [o.a.a.b.BrokerService] For help or more information please see: http://activemq.apache.org/\n2016-05-10 03:24:15,886 INFO  [async-dispatch-2] [o.a.a.b.s.SchedulerBroker] Scheduler using directory: ./test-resources/tmp/activemq/pcp/scheduler\n2016-05-10 03:24:15,912 INFO  [async-dispatch-2] [o.a.k.j.Journal] ignoring zero length, partially initialised journal data file: db-1.log number = 1 , length = 0\n2016-05-10 03:24:18,465 INFO  [async-dispatch-2] [o.a.a.b.s.JobSchedulerStore] JobSchedulerStore:./test-resources/tmp/activemq/pcp/scheduler started\n2016-05-10 03:24:18,525 INFO  [async-dispatch-2] [o.a.a.b.BrokerService] ActiveMQ JMS Message Broker (pcp, ID:kgdtm3zilpmns1i-39076-1462875855738-0:1) started\n2016-05-10 03:24:18,525 WARN  [async-dispatch-2] [o.a.a.b.BrokerService] Store limit is 100000 mb, whilst the data directory: /opt/puppet-git-repos/pcp-broker/./test-resources/tmp/activemq/pcp/KahaDB only has 5610 mb of usable space\n2016-05-10 03:24:18,525 ERROR [async-dispatch-2] [o.a.a.b.BrokerService] Temporary Store limit is 50000 mb, whilst the temporary data directory: /opt/puppet-git-repos/pcp-broker/./test-resources/tmp/activemq/pcp/tmp_storage only has 5610 mb of usable space\n2016-05-10 03:24:18,549 INFO  [async-dispatch-2] [o.a.a.b.TransportConnector] Connector vm://pcp Started\n2016-05-10 03:24:18,574 INFO  [async-dispatch-2] [o.s.j.c.CachingConnectionFactory] Established shared JMS Connection: ActiveMQConnection {id=ID:kgdtm3zilpmns1i-39076-1462875855738-5:1,clientId=null,started=false}\n2016-05-10 03:24:18,626 INFO  [async-dispatch-2] [o.s.j.c.CachingConnectionFactory] Established shared JMS Connection: ActiveMQConnection {id=ID:kgdtm3zilpmns1i-39076-1462875855738-7:1,clientId=null,started=false}\n2016-05-10 03:24:18,643 DEBUG [async-dispatch-2] [p.p.b.service] Broker service started\n2016-05-10 03:24:18,735 TRACE [DefaultMessageListenerContainer-1] [p.p.b.activemq] Consuming message 8367226f-00eb-49ca-9353-53f5b7f93325 for [\"pcp://jamess-macbook-pro.local/ruby-pcp-client-90689\"] from accept\n2016-05-10 03:24:18,746 TRACE [DefaultMessageListenerContainer-1] [p.p.b.activemq] Delivering message 8367226f-00eb-49ca-9353-53f5b7f93325 for pcp://jamess-macbook-pro.local/ruby-pcp-client-90689 to delivery queue\n2016-05-10 03:24:18,766 INFO  [DefaultMessageListenerContainer-1] [o.s.j.c.CachingConnectionFactory] Established shared JMS Connection: ActiveMQConnection {id=ID:kgdtm3zilpmns1i-39076-1462875855738-9:1,clientId=null,started=false}\n2016-05-10 03:24:18,782 TRACE [DefaultMessageListenerContainer-1] [p.p.b.activemq] Consuming message 8367226f-00eb-49ca-9353-53f5b7f93325 for pcp://jamess-macbook-pro.local/ruby-pcp-client-90689 from delivery\n2016-05-10 03:24:18,790 TRACE [DefaultMessageListenerContainer-1] [p.p.b.core] Message 8367226f-00eb-49ca-9353-53f5b7f93325 for pcp://jamess-macbook-pro.local/ruby-pcp-client-90689 has expired. Sending a ttl_expired.\n2016-05-10 03:24:18,791 TRACE [DefaultMessageListenerContainer-1] [p.p.b.core] Server generated message expired.  Dropping\n2016-05-10 03:24:20,586 DEBUG [qtp2055799078-19] [p.p.b.core] client jamess-macbook-pro.local connected from /10.64.8.102:59214\n2016-05-10 03:24:20,755 TRACE [qtp2055799078-18] [p.p.b.core] Message 831aa044-cd67-4900-af20-e72413707530 for [\"pcp:///server\"] from jamess-macbook-pro.local /10.64.8.102:59214\n2016-05-10 03:24:20,943 TRACE [qtp2055799078-20] [p.p.b.core] Message f821759b-8485-45ae-886e-abeed21ba702 for [\"pcp:///server\"] from jamess-macbook-pro.local /10.64.8.102:59214\n2016-05-10 03:24:20,969 TRACE [qtp2055799078-20] [p.p.b.core] Authorizing fcb23c5f-6967-4355-9bff-f8d4c847349e for [\"pcp://jamess-macbook-pro.local/ruby-pcp-client-90689\"] - true: allow-unauthenticated is true - allowed\n2016-05-10 03:24:20,973 TRACE [qtp2055799078-20] [p.p.b.activemq] Delivering message fcb23c5f-6967-4355-9bff-f8d4c847349e for [\"pcp://jamess-macbook-pro.local/ruby-pcp-client-90689\"] to accept queue\n2016-05-10 03:24:20,975 INFO  [qtp2055799078-20] [o.s.j.c.CachingConnectionFactory] Established shared JMS Connection: ActiveMQConnection {id=ID:kgdtm3zilpmns1i-39076-1462875855738-11:1,clientId=null,started=false}\n2016-05-10 03:24:24,395 TRACE [DefaultMessageListenerContainer-1] [p.p.b.activemq] Consuming message fcb23c5f-6967-4355-9bff-f8d4c847349e for [\"pcp://jamess-macbook-pro.local/ruby-pcp-client-90689\"] from accept\n2016-05-10 03:24:24,397 TRACE [DefaultMessageListenerContainer-1] [p.p.b.activemq] Delivering message fcb23c5f-6967-4355-9bff-f8d4c847349e for pcp://jamess-macbook-pro.local/ruby-pcp-client-90689 to delivery queue\n2016-05-10 03:24:24,398 INFO  [DefaultMessageListenerContainer-1] [o.s.j.c.CachingConnectionFactory] Established shared JMS Connection: ActiveMQConnection {id=ID:kgdtm3zilpmns1i-39076-1462875855738-13:1,clientId=null,started=false}\n2016-05-10 03:24:24,417 TRACE [DefaultMessageListenerContainer-1] [p.p.b.activemq] Consuming message fcb23c5f-6967-4355-9bff-f8d4c847349e for pcp://jamess-macbook-pro.local/ruby-pcp-client-90689 from delivery\n2016-05-10 03:24:24,419 TRACE [DefaultMessageListenerContainer-1] [p.p.b.core] Message fcb23c5f-6967-4355-9bff-f8d4c847349e for pcp://jamess-macbook-pro.local/ruby-pcp-client-90689 has expired. Sending a ttl_expired.\n2016-05-10 03:24:24,419 TRACE [DefaultMessageListenerContainer-1] [p.p.b.core] Server generated message expired.  Dropping\n2016-05-10 03:24:28,549 DEBUG [qtp2055799078-17] [p.p.b.core] client yvz7c7iuwwb3xyo.delivery.puppetlabs.net connected from /10.32.127.178:37094\n2016-05-10 03:24:28,598 TRACE [qtp2055799078-18] [p.p.b.core] Message 0cc6e2e0-3b42-4cea-89e5-bea91ff30a2e for [\"pcp:///server\"] from yvz7c7iuwwb3xyo.delivery.puppetlabs.net /10.32.127.178:37094\n2016-05-10 03:25:20,934 DEBUG [qtp2055799078-17] [p.p.b.core] client jamess-macbook-pro.local disconnected from /10.64.8.102:59214 1000{code}\n\nAgain, there is a time gap of several seconds after _\\[o.s.j.c.CachingConnectionFactory\\] Established shared JMS Connection_\n\nIf it's happening consistently here", "created": "2016-05-10T04:44:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "For comparison, here's the broker log when the test passes:\n\n{code}2016-05-10 03:45:34,088 INFO  [async-dispatch-2] [p.t.s.w.jetty9-service] Initializing web server(s).\n2016-05-10 03:45:34,128 INFO  [async-dispatch-2] [p.p.b.service] Initializing broker service\n2016-05-10 03:45:34,308 INFO  [async-dispatch-2] [p.t.s.s.status-service] Registering status callback function for broker-service service\n2016-05-10 03:45:34,324 INFO  [async-dispatch-2] [p.t.s.n.nrepl-service] Starting nREPL service on 127.0.0.1 port 7888\n2016-05-10 03:45:34,332 INFO  [async-dispatch-2] [p.t.s.w.jetty9-service] Starting web server(s).\n2016-05-10 03:45:34,434 INFO  [async-dispatch-2] [p.t.s.w.jetty9-core] Starting web server.\n2016-05-10 03:45:34,530 INFO  [async-dispatch-2] [p.t.s.s.status-service] Registering status service HTTP API at /status\n2016-05-10 03:45:34,542 INFO  [async-dispatch-2] [p.p.b.service] Starting broker service\n2016-05-10 03:45:34,557 INFO  [async-dispatch-2] [o.a.a.s.k.p.PListStore] PListStore:[/opt/puppet-git-repos/pcp-broker/./test-resources/tmp/activemq/pcp/tmp_storage ] started\n2016-05-10 03:45:34,560 INFO  [async-dispatch-2] [o.a.a.b.BrokerService] Using Persistence Adapter: KahaDBPersistenceAdapter[/opt/puppet-git-repos/pcp-broker/./test-resources/tmp/activemq/pcp/KahaDB]\n2016-05-10 03:45:35,001 INFO  [async-dispatch-2] [o.a.a.s.k.MessageDatabase] KahaDB is version 4\n2016-05-10 03:45:35,031 INFO  [async-dispatch-2] [o.a.a.s.k.MessageDatabase] Recovering from the journal ...\n2016-05-10 03:45:35,154 INFO  [async-dispatch-2] [o.a.a.s.k.MessageDatabase] Recovery replayed 8 operations from the journal in 0.145 seconds.\n2016-05-10 03:45:35,165 INFO  [async-dispatch-2] [o.a.a.b.BrokerService] ActiveMQ 5.6.0 JMS Message Broker (pcp) is starting\n2016-05-10 03:45:35,165 INFO  [async-dispatch-2] [o.a.a.b.BrokerService] For help or more information please see: http://activemq.apache.org/\n2016-05-10 03:45:35,199 INFO  [async-dispatch-2] [o.a.a.b.s.SchedulerBroker] Scheduler using directory: ./test-resources/tmp/activemq/pcp/scheduler\n2016-05-10 03:45:35,223 INFO  [async-dispatch-2] [o.a.k.j.Journal] ignoring zero length, partially initialised journal data file: db-1.log number = 1 , length = 0\n2016-05-10 03:45:35,639 INFO  [async-dispatch-2] [o.a.a.b.s.JobSchedulerStore] JobSchedulerStore:./test-resources/tmp/activemq/pcp/scheduler started\n2016-05-10 03:45:35,696 INFO  [async-dispatch-2] [o.a.a.b.BrokerService] ActiveMQ JMS Message Broker (pcp, ID:kgdtm3zilpmns1i-33771-1462877135039-0:1) started\n2016-05-10 03:45:35,697 WARN  [async-dispatch-2] [o.a.a.b.BrokerService] Store limit is 100000 mb, whilst the data directory: /opt/puppet-git-repos/pcp-broker/./test-resources/tmp/activemq/pcp/KahaDB only has 5608 mb of usable space\n2016-05-10 03:45:35,697 ERROR [async-dispatch-2] [o.a.a.b.BrokerService] Temporary Store limit is 50000 mb, whilst the temporary data directory: /opt/puppet-git-repos/pcp-broker/./test-resources/tmp/activemq/pcp/tmp_storage only has 5608 mb of usable space\n2016-05-10 03:45:35,722 INFO  [async-dispatch-2] [o.a.a.b.TransportConnector] Connector vm://pcp Started\n2016-05-10 03:45:35,747 INFO  [async-dispatch-2] [o.s.j.c.CachingConnectionFactory] Established shared JMS Connection: ActiveMQConnection {id=ID:kgdtm3zilpmns1i-33771-1462877135039-5:1,clientId=null,started=false}\n2016-05-10 03:45:35,792 INFO  [async-dispatch-2] [o.s.j.c.CachingConnectionFactory] Established shared JMS Connection: ActiveMQConnection {id=ID:kgdtm3zilpmns1i-33771-1462877135039-7:1,clientId=null,started=false}\n2016-05-10 03:45:35,850 DEBUG [async-dispatch-2] [p.p.b.service] Broker service started\n2016-05-10 03:45:36,967 DEBUG [qtp1673746983-19] [p.p.b.core] client jamess-macbook-pro.local connected from /10.64.8.102:59634\n2016-05-10 03:45:37,142 TRACE [qtp1673746983-20] [p.p.b.core] Message 142a3f76-db72-4398-b49e-2389dc0f0c68 for [\"pcp:///server\"] from jamess-macbook-pro.local /10.64.8.102:59634\n2016-05-10 03:45:37,341 TRACE [qtp1673746983-21] [p.p.b.core] Message 65a1c612-ea72-4808-8f1b-33d62b202b70 for [\"pcp:///server\"] from jamess-macbook-pro.local /10.64.8.102:59634\n2016-05-10 03:45:37,367 TRACE [qtp1673746983-21] [p.p.b.core] Authorizing 45125931-7414-4e27-8139-5406416a99b5 for [\"pcp://jamess-macbook-pro.local/ruby-pcp-client-90718\"] - true: allow-unauthenticated is true - allowed\n2016-05-10 03:45:37,371 TRACE [qtp1673746983-21] [p.p.b.activemq] Delivering message 45125931-7414-4e27-8139-5406416a99b5 for [\"pcp://jamess-macbook-pro.local/ruby-pcp-client-90718\"] to accept queue\n2016-05-10 03:45:37,394 INFO  [qtp1673746983-21] [o.s.j.c.CachingConnectionFactory] Established shared JMS Connection: ActiveMQConnection {id=ID:kgdtm3zilpmns1i-33771-1462877135039-9:1,clientId=null,started=false}\n2016-05-10 03:45:37,430 TRACE [DefaultMessageListenerContainer-1] [p.p.b.activemq] Consuming message 45125931-7414-4e27-8139-5406416a99b5 for [\"pcp://jamess-macbook-pro.local/ruby-pcp-client-90718\"] from accept\n2016-05-10 03:45:37,435 TRACE [DefaultMessageListenerContainer-1] [p.p.b.activemq] Delivering message 45125931-7414-4e27-8139-5406416a99b5 for pcp://jamess-macbook-pro.local/ruby-pcp-client-90718 to delivery queue\n2016-05-10 03:45:37,437 INFO  [DefaultMessageListenerContainer-1] [o.s.j.c.CachingConnectionFactory] Established shared JMS Connection: ActiveMQConnection {id=ID:kgdtm3zilpmns1i-33771-1462877135039-11:1,clientId=null,started=false}\n2016-05-10 03:45:37,446 TRACE [DefaultMessageListenerContainer-1] [p.p.b.activemq] Consuming message 45125931-7414-4e27-8139-5406416a99b5 for pcp://jamess-macbook-pro.local/ruby-pcp-client-90718 from delivery\n2016-05-10 03:45:37,450 DEBUG [DefaultMessageListenerContainer-1] [p.p.b.core] Delivering 45125931-7414-4e27-8139-5406416a99b5 for pcp://jamess-macbook-pro.local/ruby-pcp-client-90718 to jamess-macbook-pro.local at /10.64.8.102:59634\n2016-05-10 03:45:37,624 DEBUG [qtp1673746983-22] [p.p.b.core] client jamess-macbook-pro.local disconnected from /10.64.8.102:59634 1000\n2016-05-10 03:45:39,206 DEBUG [qtp1673746983-17] [p.p.b.core] client yvz7c7iuwwb3xyo.delivery.puppetlabs.net connected from /10.32.127.178:37100\n2016-05-10 03:45:39,230 DEBUG [qtp1673746983-18] [p.p.b.core] client jamess-macbook-pro.local connected from /10.64.8.102:59636\n2016-05-10 03:45:39,254 TRACE [qtp1673746983-20] [p.p.b.core] Message 71994d54-f778-4019-8adf-bb9323e4bbfd for [\"pcp:///server\"] from yvz7c7iuwwb3xyo.delivery.puppetlabs.net /10.32.127.178:37100\n2016-05-10 03:45:39,387 TRACE [qtp1673746983-19] [p.p.b.core] Message f4e54840-2691-4356-bddb-1dea61386c36 for [\"pcp:///server\"] from jamess-macbook-pro.local /10.64.8.102:59636\n2016-05-10 03:45:39,550 TRACE [qtp1673746983-21] [p.p.b.core] Message a4114081-5471-4403-b217-9b95a5794765 for [\"pcp:///server\"] from jamess-macbook-pro.local /10.64.8.102:59636\n2016-05-10 03:45:39,564 TRACE [qtp1673746983-21] [p.p.b.core] Authorizing 9b9ec0ca-69c2-4bfa-9f8f-5e62350242f0 for [\"pcp://jamess-macbook-pro.local/ruby-pcp-client-90718\"] - true: allow-unauthenticated is true - allowed\n2016-05-10 03:45:39,566 TRACE [qtp1673746983-21] [p.p.b.activemq] Delivering message 9b9ec0ca-69c2-4bfa-9f8f-5e62350242f0 for [\"pcp://jamess-macbook-pro.local/ruby-pcp-client-90718\"] to accept queue\n2016-05-10 03:45:39,567 INFO  [qtp1673746983-21] [o.s.j.c.CachingConnectionFactory] Established shared JMS Connection: ActiveMQConnection {id=ID:kgdtm3zilpmns1i-33771-1462877135039-13:1,clientId=null,started=false}\n2016-05-10 03:45:39,577 TRACE [DefaultMessageListenerContainer-1] [p.p.b.activemq] Consuming message 9b9ec0ca-69c2-4bfa-9f8f-5e62350242f0 for [\"pcp://jamess-macbook-pro.local/ruby-pcp-client-90718\"] from accept\n2016-05-10 03:45:39,578 TRACE [DefaultMessageListenerContainer-1] [p.p.b.activemq] Delivering message 9b9ec0ca-69c2-4bfa-9f8f-5e62350242f0 for pcp://jamess-macbook-pro.local/ruby-pcp-client-90718 to delivery queue\n2016-05-10 03:45:39,580 INFO  [DefaultMessageListenerContainer-1] [o.s.j.c.CachingConnectionFactory] Established shared JMS Connection: ActiveMQConnection {id=ID:kgdtm3zilpmns1i-33771-1462877135039-15:1,clientId=null,started=false}\n2016-05-10 03:45:39,589 TRACE [DefaultMessageListenerContainer-1] [p.p.b.activemq] Consuming message 9b9ec0ca-69c2-4bfa-9f8f-5e62350242f0 for pcp://jamess-macbook-pro.local/ruby-pcp-client-90718 from delivery\n2016-05-10 03:45:39,591 DEBUG [DefaultMessageListenerContainer-1] [p.p.b.core] Delivering 9b9ec0ca-69c2-4bfa-9f8f-5e62350242f0 for pcp://jamess-macbook-pro.local/ruby-pcp-client-90718 to jamess-macbook-pro.local at /10.64.8.102:59636\n2016-05-10 03:45:39,749 DEBUG [qtp1673746983-17] [p.p.b.core] client jamess-macbook-pro.local disconnected from /10.64.8.102:59636 1000{code}\n\nOnly a 36ms difference between log entries", "created": "2016-05-10T05:24:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I think there's a good chance it's something we'll have to fix in the broker code. We need to instrument the broker a bit and run the test until failure.", "created": "2016-05-10T08:39:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Attaching logs from yesterday with some JVM gc logging captured along with pcp-broker.log\n\nI also ran another instance yesterday with pcp-broker rolled back to [690a0f1|https://github.com/puppetlabs/pcp-broker/commit/690a0f13419ede42d67642f8d5744b629f751966] (before PCP-245 was fixed). This instance ran the affected test continually for 12 hours (until the VM expired) without failing. Although the test fail is intermittent, this feels like the bug has gone away in this case.", "created": "2016-05-12T07:41:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Today I found that the issue can be made to occur more frequently by loading up pcp-broker's queue with messages. I sent 100 rpc_non_blocking_request messages with 1 hour expiry times to pcp-broker, with the target being a non-existent client (e.g. pcp://example.com/agent ). pcp-broker just keeps these queued and tries to re-deliver occasionally. When I re-run the reconnect_after_broker_unavailable.rb pxp-agent acceptance test with broker in this state", "created": "2016-05-12T10:45:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Attaching 2016-05-13_jprofiler_data.zip which contains jprofiler data from the broker from an occurrence of the test failing.\n\nIt includes pcp-broker.log - note that this will contain many log entries about attempted re-delivery to the (non-existent) target pcp://example.com/agent - these are intentionally undeliverable messages to fill the broker queue and make this bug readily reproducible.\n\nThe profiler data is in a .jps file that will require a copy of JProfiler. I also exported individual metrics as csv files\n\nThe pertinent pcp-broker.log entries appear to be:\n\n{code}2016-05-13 05:53:58,676 INFO  [async-dispatch-2] [p.t.s.w.jetty9-service] Initializing web server(s).\n...\n2016-05-13 05:54:03,831 TRACE [qtp35374438-23] [p.p.b.core] Authorizing 1eb1a3a0-5144-4b64-86b0-96eaf8d69eb1 for [\"pcp://jamess-macbook-pro.local/ruby-pcp-client-97159\"] - true: allow-unauthenticated is true - allowed\n2016-05-13 05:54:03,834 TRACE [qtp35374438-23] [p.p.b.activemq] Delivering message 1eb1a3a0-5144-4b64-86b0-96eaf8d69eb1 for [\"pcp://jamess-macbook-pro.local/ruby-pcp-client-97159\"] to accept queue\n2016-05-13 05:54:03,836 INFO  [qtp35374438-23] [o.s.j.c.CachingConnectionFactory] Established shared JMS Connection: ActiveMQConnection {id=ID:bzhnkb67jhfhyeg-43964-1463144039802-41:1,clientId=null,started=false}\n2016-05-13 05:54:03,854 TRACE [DefaultMessageListenerContainer-1] [p.p.b.activemq] Consuming message 1eb1a3a0-5144-4b64-86b0-96eaf8d69eb1 for [\"pcp://jamess-macbook-pro.local/ruby-pcp-client-97159\"] from accept\n2016-05-13 05:54:03,863 TRACE [DefaultMessageListenerContainer-1] [p.p.b.activemq] Delivering message 1eb1a3a0-5144-4b64-86b0-96eaf8d69eb1 for pcp://jamess-macbook-pro.local/ruby-pcp-client-97159 to delivery queue\n...\n2016-05-13 05:54:12,457 TRACE [DefaultMessageListenerContainer-1] [p.p.b.activemq] Consuming message 1eb1a3a0-5144-4b64-86b0-96eaf8d69eb1 for pcp://jamess-macbook-pro.local/ruby-pcp-client-97159 from delivery\n2016-05-13 05:54:12,461 TRACE [DefaultMessageListenerContainer-1] [p.p.b.core] Message 1eb1a3a0-5144-4b64-86b0-96eaf8d69eb1 for pcp://jamess-macbook-pro.local/ruby-pcp-client-97159 has expired. Sending a ttl_expired.\n2016-05-13 05:54:12,461 TRACE [DefaultMessageListenerContainer-1] [p.p.b.core] Server generated message expired.  Dropping{code}\n\nI _suspect_ that where the profiler notes the \"BrokerService[pcp] Task-4\" thread starting at 37.82 seconds", "created": "2016-05-13T07:17:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "For the artificial case with lots of log messages, I suspect the Journal Checkpoint ([link|http://activemq.apache.org/why-do-kahadb-log-files-remain-after-cleanup.html]) is blocking all consumer threads, and appears to take several seconds.\n\n{code}\n2016-05-16 13:53:28,825 TRACE [DefaultMessageListenerContainer-1] [p.p.b.activemq] Delivering message 3a2754d1-42c4-4798-bb4e-9915bbea793e for pcp://michaels-macbook-pro.local/ruby-pcp-client-66867 to delivery queue\n2016-05-16 13:53:28,825 INFO  [DefaultMessageListenerContainer-1] [o.s.j.c.CachingConnectionFactory] Established shared JMS Connection: ActiveMQConnection {id=ID:ee52ld004ks6imi-44839-1463432006576-45:1,clientId=null,started=false}\n2016-05-16 13:53:28,828 DEBUG [ActiveMQ Task-20] [o.a.a.b.TransportConnection] Setting up new connection id: ID:ee52ld004ks6imi-44839-1463432006576-45:1, address: vm://pcp#40, info: ConnectionInfo {commandId = 1, responseRequired = true, connectionId = ID:ee52ld004ks6imi-44839-1463432006576-45:1, clientId = ID:ee52ld004ks6imi-44839-1463432006576-44:1, clientIp = null, userName = null, password = *****, brokerPath = null, brokerMasterConnector = false, manageable = true, clientMaster = true, faultTolerant = false, failoverReconnect = false}\n2016-05-16 13:53:28,828 DEBUG [ActiveMQ Task-18] [o.a.a.b.r.AbstractRegion] pcp adding consumer: ID:ee52ld004ks6imi-44839-1463432006576-45:1:-1:1 for destination: ActiveMQ.Advisory.TempQueue,ActiveMQ.Advisory.TempTopic\n2016-05-16 13:53:28,831 DEBUG [ActiveMQ Task-20] [o.a.a.b.r.Queue] pcp Message ID:ee52ld004ks6imi-44839-1463432006576-45:1:1:1:1 sent to queue://delivery\n2016-05-16 13:53:28,831 DEBUG [BrokerService[pcp] Task-1] [o.a.a.b.r.Queue] delivery toPageIn: 1, Inflight: 32, pagedInMessages.size 32, enqueueCount: 34, dequeueCount: 1\n2016-05-16 13:53:29,349 DEBUG [DefaultMessageListenerContainer-1] [o.a.a.ActiveMQSession] ID:ee52ld004ks6imi-44839-1463432006576-5:1:3 Transaction Commit :null\n2016-05-16 13:53:29,350 DEBUG [DefaultMessageListenerContainer-1] [o.a.a.ActiveMQSession] ID:ee52ld004ks6imi-44839-1463432006576-5:1:1 Transaction Commit :null\n2016-05-16 13:53:29,350 DEBUG [DefaultMessageListenerContainer-1] [o.a.a.ActiveMQSession] ID:ee52ld004ks6imi-44839-1463432006576-5:1:4 Transaction Commit :null\n2016-05-16 13:53:29,517 DEBUG [JobScheduler:JMS] [o.a.a.b.s.JobSchedulerImpl] Firing Job [id=ID:ee52ld004ks6imi-43025-1463431967478-67:1:1:1:1, startTime=Mon May 16 13:52:49 PDT 2016, delay=15000, period=0, repeat=0, nextTime=Mon May 16 13:53:04 PDT 2016]\n2016-05-16 13:53:29,517 DEBUG [JobScheduler:JMS] [o.a.a.b.r.Queue] pcp Message ID:ee52ld004ks6imi-43025-1463431967478-67:1:1:1:1 sent to queue://delivery\n2016-05-16 13:53:29,518 DEBUG [BrokerService[pcp] Task-3] [o.a.a.b.r.Queue] delivery toPageIn: 1, Inflight: 33, pagedInMessages.size 33, enqueueCount: 35, dequeueCount: 1\n2016-05-16 13:53:29,569 DEBUG [ActiveMQ Task-18] [o.a.a.b.r.AbstractRegion] pcp removing consumer: ID:ee52ld004ks6imi-44839-1463432006576-43:1:-1:1 for destination: ActiveMQ.Advisory.TempQueue,ActiveMQ.Advisory.TempTopic\n2016-05-16 13:53:29,570 DEBUG [ActiveMQ Task-18] [o.a.a.b.TransportConnection] remove connection id: ID:ee52ld004ks6imi-44839-1463432006576-43:1\n2016-05-16 13:53:29,573 DEBUG [ActiveMQ Task-18] [o.a.a.b.TransportConnection] Stopping connection: vm://pcp#38\n2016-05-16 13:53:29,573 DEBUG [ActiveMQ Task-18] [o.a.a.b.TransportConnection] Stopped transport: vm://pcp#38\n2016-05-16 13:53:29,573 DEBUG [ActiveMQ Task-18] [o.a.a.b.TransportConnection] Connection Stopped: vm://pcp#38\n2016-05-16 13:53:29,610 DEBUG [ActiveMQ Task-18] [o.a.a.b.r.AbstractRegion] pcp removing consumer: ID:ee52ld004ks6imi-44839-1463432006576-45:1:-1:1 for destination: ActiveMQ.Advisory.TempQueue,ActiveMQ.Advisory.TempTopic\n2016-05-16 13:53:29,610 DEBUG [ActiveMQ Task-18] [o.a.a.b.TransportConnection] remove connection id: ID:ee52ld004ks6imi-44839-1463432006576-45:1\n2016-05-16 13:53:29,610 DEBUG [ActiveMQ Task-20] [o.a.a.b.TransportConnection] Stopping connection: vm://pcp#40\n2016-05-16 13:53:29,611 DEBUG [DefaultMessageListenerContainer-1] [o.a.a.ActiveMQSession] ID:ee52ld004ks6imi-44839-1463432006576-5:1:2 Transaction Commit :TX:ID:ee52ld004ks6imi-44839-1463432006576-5:1:1\n2016-05-16 13:53:29,611 DEBUG [DefaultMessageListenerContainer-1] [o.a.a.TransactionContext] Commit: TX:ID:ee52ld004ks6imi-44839-1463432006576-5:1:1 syncCount: 1\n2016-05-16 13:53:29,612 DEBUG [ActiveMQ Task-18] [o.a.a.t.LocalTransaction] commit: TX:ID:ee52ld004ks6imi-44839-1463432006576-5:1:1 syncCount: 2\n2016-05-16 13:53:29,834 DEBUG [JobScheduler:JMS] [o.a.a.b.s.JobSchedulerImpl] Firing Job [id=ID:ee52ld004ks6imi-43025-1463431967478-85:1:1:1:1, startTime=Mon May 16 13:52:49 PDT 2016, delay=15000, period=0, repeat=0, nextTime=Mon May 16 13:53:04 PDT 2016]\n2016-05-16 13:53:29,834 DEBUG [JobScheduler:JMS] [o.a.a.b.r.Queue] pcp Message ID:ee52ld004ks6imi-43025-1463431967478-85:1:1:1:1 sent to queue://delivery\n2016-05-16 13:53:29,835 DEBUG [BrokerService[pcp] Task-1] [o.a.a.b.r.Queue] delivery toPageIn: 1, Inflight: 34, pagedInMessages.size 34, enqueueCount: 36, dequeueCount: 1\n2016-05-16 13:53:30,349 DEBUG [DefaultMessageListenerContainer-1] [o.a.a.ActiveMQSession] ID:ee52ld004ks6imi-44839-1463432006576-5:1:3 Transaction Commit :null\n2016-05-16 13:53:30,350 DEBUG [DefaultMessageListenerContainer-1] [o.a.a.ActiveMQSession] ID:ee52ld004ks6imi-44839-1463432006576-5:1:1 Transaction Commit :null\n2016-05-16 13:53:30,350 DEBUG [DefaultMessageListenerContainer-1] [o.a.a.ActiveMQSession] ID:ee52ld004ks6imi-44839-1463432006576-5:1:4 Transaction Commit :null\n2016-05-16 13:53:30,611 DEBUG [ActiveMQ Task-20] [o.a.a.b.TransportConnection] Stopped transport: vm://pcp#40\n2016-05-16 13:53:30,611 DEBUG [ActiveMQ Task-20] [o.a.a.b.TransportConnection] Connection Stopped: vm://pcp#40\n2016-05-16 13:53:31,350 DEBUG [DefaultMessageListenerContainer-1] [o.a.a.ActiveMQSession] ID:ee52ld004ks6imi-44839-1463432006576-5:1:3 Transaction Commit :null\n2016-05-16 13:53:31,351 DEBUG [DefaultMessageListenerContainer-1] [o.a.a.ActiveMQSession] ID:ee52ld004ks6imi-44839-1463432006576-5:1:1 Transaction Commit :null\n2016-05-16 13:53:31,351 DEBUG [DefaultMessageListenerContainer-1] [o.a.a.ActiveMQSession] ID:ee52ld004ks6imi-44839-1463432006576-5:1:4 Transaction Commit :null\n2016-05-16 13:53:31,533 DEBUG [ActiveMQ Journal Checkpoint Worker] [o.a.a.s.k.MessageDatabase] Checkpoint started.\n2016-05-16 13:53:32,352 DEBUG [DefaultMessageListenerContainer-1] [o.a.a.ActiveMQSession] ID:ee52ld004ks6imi-44839-1463432006576-5:1:3 Transaction Commit :null\n2016-05-16 13:53:32,352 DEBUG [DefaultMessageListenerContainer-1] [o.a.a.ActiveMQSession] ID:ee52ld004ks6imi-44839-1463432006576-5:1:4 Transaction Commit :null\n2016-05-16 13:53:32,352 DEBUG [DefaultMessageListenerContainer-1] [o.a.a.ActiveMQSession] ID:ee52ld004ks6imi-44839-1463432006576-5:1:1 Transaction Commit :null\n2016-05-16 13:53:32,387 DEBUG [DefaultMessageListenerContainer-1] [o.a.a.ActiveMQSession] ID:ee52ld004ks6imi-44839-1463432006576-5:1:2 Transaction Commit :null\n2016-05-16 13:53:33,352 DEBUG [DefaultMessageListenerContainer-1] [o.a.a.ActiveMQSession] ID:ee52ld004ks6imi-44839-1463432006576-5:1:3 Transaction Commit :null\n2016-05-16 13:53:33,352 DEBUG [DefaultMessageListenerContainer-1] [o.a.a.ActiveMQSession] ID:ee52ld004ks6imi-44839-1463432006576-5:1:4 Transaction Commit :null\n2016-05-16 13:53:33,352 DEBUG [DefaultMessageListenerContainer-1] [o.a.a.ActiveMQSession] ID:ee52ld004ks6imi-44839-1463432006576-5:1:1 Transaction Commit :null\n2016-05-16 13:53:33,388 DEBUG [DefaultMessageListenerContainer-1] [o.a.a.ActiveMQSession] ID:ee52ld004ks6imi-44839-1463432006576-5:1:2 Transaction Commit :null\n2016-05-16 13:53:34,353 DEBUG [DefaultMessageListenerContainer-1] [o.a.a.ActiveMQSession] ID:ee52ld004ks6imi-44839-1463432006576-5:1:3 Transaction Commit :null\n2016-05-16 13:53:34,353 DEBUG [DefaultMessageListenerContainer-1] [o.a.a.ActiveMQSession] ID:ee52ld004ks6imi-44839-1463432006576-5:1:4 Transaction Commit :null\n2016-05-16 13:53:34,353 DEBUG [DefaultMessageListenerContainer-1] [o.a.a.ActiveMQSession] ID:ee52ld004ks6imi-44839-1463432006576-5:1:1 Transaction Commit :null\n2016-05-16 13:53:34,388 DEBUG [DefaultMessageListenerContainer-1] [o.a.a.ActiveMQSession] ID:ee52ld004ks6imi-44839-1463432006576-5:1:2 Transaction Commit :null\n2016-05-16 13:53:34,664 DEBUG [qtp1486311720-21] [p.p.b.core] client aqrfawopoga9pij.delivery.puppetlabs.net connected from /10.32.127.102:45994\n2016-05-16 13:53:34,680 DEBUG [ActiveMQ Journal Checkpoint Worker] [o.a.a.s.k.MessageDatabase] Checkpoint done.\n{code}\n\nThis is from a log where an inventory request was sent at {{13:53:28,825}}, one of the undeliverable messages was enqueued at {{13:53:29,518}}, then the checkpoint ran from {{13:53:31,533}} to {{13:53:34,680}}. Repeating saw the same behavior. There's some noise, as there are commits happening and occasionally work being scheduled, but it seems to happen much less during the checkpoint.\n\nThis problem doesn't seem like it should surface during a normal acceptance suite run, however. It took two runs for the journal to get full enough to cause multi-second pauses.", "created": "2016-05-16T15:34:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Try adding ActiveMQ and KahaDB logging to the broker log config, then have the test call the \"show logs\" helper if it fails at this point\n\ne.g. {noformat}<logger name=\"org.apache.activemq.store.kahadb\" level=\"trace\"/>{noformat}", "created": "2016-05-26T04:38:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "One thing we could try here is tweaking the [KahaDB configuration|https://access.redhat.com/documentation/en-US/Fuse_MQ_Enterprise/7.1/html/Configuring_Broker_Persistence/files/KahaDBConfiguration.html]. For example, tweaking {{indexBatchWriteSize}} so checkpoints have less work to do.\n\nI'll have to dig more to understand why multiple \"Dropping\" messages are being generated. Could it be the test is failing in a different test case, where multiple inventory requests are generated? They have different message IDs.", "created": "2016-06-14T17:19:00.000000"}, {"author": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "body": "Putting this into needs information because it is not clear if we are waiting to see if this comes back, or what the actual action is to close this ticket. \n\nWe will keep this around until James gets back and can make a call.", "created": "2016-06-22T09:19:00.000000"}, {"author": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "body": "This has not blocked CI for a while, so we are moving this to be a bug instead. There is a CI fix - including a retry - but we do not want to do that yet since it would mask this issue if it occurs again. If it does show up in CI again, we will add the retry at that point so CI remains green.", "created": "2016-07-06T09:31:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Note that PCP-496 is related (but I don't believe is the same bug) and the fix for PCP-496 might mitigate/resolve this ticket - it ensures that setting the expiry on an inventory_response is the last thing done with the message", "created": "2016-07-18T04:49:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I think the only other step we could take to address this is PCP-187. I'd be tempted to call this either blocked on that, or fixed if it doesn't repeat.", "created": "2016-07-20T11:47:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Marking as \"Cannot reproduce\" - this has not appeared in CI in recent weeks, and my manual testing seemed to show that the issue was increasingly hard to repeat as we made improvements to pcp-broker\n\nRe-open if CI catches this again", "created": "2016-07-28T08:30:00.000000"}], "components": ["CI Blocker", "pcp-broker"], "created": "2016-05-05T08:07:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@43238e19"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-435"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz35z3:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Causing frequent pxp-agent CI fails"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/May/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_86413575_*|*_10007_*:*_1_*:*_9417225_*|*_3_*:*_3_*:*_2848335838_*|*_10009_*:*_1_*:*_164929_*|*_5_*:*_1_*:*_14017130983_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_2_*:*_4314651180"}], "description": "This was seen in CI:\n\nhttp://jenkins.puppetlabs.com:8080/job/platform_pxp-agent_intn-van-sys_master/106/SLAVE_LABEL=beaker,TEST_TARGET=redhat6-64a/console\n\n{code}05:15:59 Begin tests/reconnect_after_broker_unavailable.rb\n05:15:59 \n05:15:59 C94789 - An associated agent should automatically reconnect when the broker was temporarily unavailable\n05:15:59 \n05:15:59 * Ensure each agent host has pxp-agent running and associated\n05:16:02   localhost $ scp /tmp/beaker20160505-1472-1k1l7ga redhat6-64-1:/etc/puppetlabs/pxp-agent/pxp-agent.conf {:ignore => }\n05:16:05 \n05:16:05 * On master, stop then restart the broker\n05:16:34 #<Errno::ECONNRESET: Connection reset by peer - SSL_connect>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 #<Errno::ECONNREFUSED: Connection refused - connect(2) for \"fq703vbjoqjj548.delivery.puppetlabs.net\" port 8142>\n05:16:34 \n05:16:34 * On each agent, test that a 2nd association has occurred\n05:17:34   RuntimeError: Didn't receive a response for PCP inventory request\n05:17:34   /var/lib/jenkins/workspace/platform_pxp-agent_intn-van-sys_master/SLAVE_LABEL/beaker/TEST_TARGET/redhat6-64a/acceptance/tests/reconnect_after_broker_unavailable.rb:26\n05:17:34   /var/lib/jenkins/workspace/platform_pxp-agent_intn-van-sys_master/SLAVE_LABEL/beaker/TEST_TARGET/redhat6-64a/acceptance/tests/reconnect_after_broker_unavailable.rb:25\n05:17:34   /var/lib/jenkins/workspace/platform_pxp-agent_intn-van-sys_master/SLAVE_LABEL/beaker/TEST_TARGET/redhat6-64a/acceptance/tests/reconnect_after_broker_unavailable.rb:25\n05:17:34   /var/lib/jenkins/workspace/platform_pxp-agent_intn-van-sys_master/SLAVE_LABEL/beaker/TEST_TARGET/redhat6-64a/acceptance/tests/reconnect_after_broker_unavailable.rb:25\n05:17:34   /var/lib/jenkins/workspace/platform_pxp-agent_intn-van-sys_master/SLAVE_LABEL/beaker/TEST_TARGET/redhat6-64a/acceptance/tests/reconnect_after_broker_unavailable.rb:24\n05:17:34   /var/lib/jenkins/workspace/platform_pxp-agent_intn-van-sys_master/SLAVE_LABEL/beaker/TEST_TARGET/redhat6-64a/acceptance/.bundle/gems/gems/beaker-2.40.0/bin/beaker:6\n05:17:34   Begin teardown\n05:17:34   End teardown\n05:17:34   Warning: tests/reconnect_after_broker_unavailable.rb errored in 94.97 seconds{code}\n\nI saw the same error once yesterday, when running tests on my laptop.", "epicLinkSummary": "PCP Broker Reliability", "estimate": "PT0S", "externalId": "31800", "fixedVersions": [], "id": "31800", "issueType": "Bug", "key": "PCP-394", "labels": ["pxp_puppet-agent_ci", "pxp-agent_ci"], "originalEstimate": "PT0S", "parent": "31934", "parentSummary": "PCP Broker Reliability", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Cannot Reproduce", "resolutionDate": "2016-07-28T08:30:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pcp-broker inventory response might expire before delivery", "timeSpent": "PT0S", "updated": "2017-06-01T12:41:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "That seems like a reasonable theory to me as well.", "created": "2016-05-16T16:28:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "This occurred once more yesterday:\nhttp://jenkins.puppetlabs.com:8080/job/platform_pxp-agent_intn-van-sys_master/118/SLAVE_LABEL=beaker,TEST_TARGET=ubuntu1404-64a/testReport/(root)/tests/restart_host_run_puppet_rb/\n\nNote that this is a different failure from QENG-3846 but also affects restart_host_run_puppet.rb only on Ubuntu 14.04", "created": "2016-05-17T03:32:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "This has been addressed as part of PCP-428", "created": "2016-05-26T03:43:00.000000"}], "components": ["pxp-agent package", "QA"], "created": "2016-05-05T08:03:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4e5f7bd1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz649j:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/May/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1798777998_*|*_6_*:*_1_*:*_0"}], "description": "http://jenkins.puppetlabs.com:8080/job/platform_pxp-agent_intn-van-sys_master/106/SLAVE_LABEL=beaker,TEST_TARGET=ubuntu1404-64a/console\n\n{code}05:16:24 C94777 - Ensure pxp-agent functions after agent host restart\n05:16:24   \n05:16:24   * Ensure each agent host has pxp-agent service running and enabled\n05:16:29     localhost $ scp /tmp/beaker20160505-18415-lyjvuq ubuntu1404-64-1:/etc/puppetlabs/pxp-agent/pxp-agent.conf {:ignore => }\n05:16:32   \n05:16:32   * restart each agent\n05:16:32     Waiting for connection failure on ubuntu1404-64-1 (attempt 1, try again in 3 second(s))\n05:16:35     Waiting for connection failure on ubuntu1404-64-1 (attempt 2, try again in 5 second(s))\n05:16:45     Waiting for connection failure on ubuntu1404-64-1 (attempt 3, try again in 8 second(s))\n05:16:45     Warning: Attemped ssh.close, (caught Net::SSH::Disconnect - connection closed by remote host).\n05:16:45     Warning: ssh connection to ubuntu1404-64-1 has been terminated\n05:16:55       Warning: Try 1 -- Host m5fzzskybisqyy3.delivery.puppetlabs.net unreachable: Errno::ECONNREFUSED - Connection refused - connect(2) for \"m5fzzskybisqyy3.delivery.puppetlabs.net\" port 22\n05:16:55       Warning: Trying again in 3 seconds\n05:17:02     Begin teardown\n05:17:02     End teardown\n05:17:02     tests/restart_host_run_puppet.rb failed in 37.76 seconds\n{code}\n\n{code}05:18:35               - Test Case Summary for suite 'tests' -\n05:18:35        Total Suite Time: 259.66 seconds\n05:18:35       Average Test Time: 23.61 seconds\n05:18:35               Attempted: 11\n05:18:35                  Passed: 10\n05:18:35                  Failed: 1\n05:18:35                 Errored: 0\n05:18:35                 Skipped: 0\n05:18:35                 Pending: 0\n05:18:35                   Total: 11\n05:18:35 \n05:18:35       - Specific Test Case Status -\n05:18:35         \n05:18:35 Failed Tests Cases:\n05:18:35       Test Case tests/restart_host_run_puppet.rb reported: #<Minitest::Assertion: pxp-agent service should be running after reboot.\n05:18:35     Expected /ensure => .running.,/ to match \"service { 'pxp-agent':\\n  ensure => 'stopped',\\n  enable => 'true',\\n}\\n\".>{code}\n\nI believe this failure might be simply because the test case does not allow any time for services to start up - as soon as the restarted host appears available for ssh, the test hops onto it and asserts that the pxp-agent service will already be running", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31607", "fixedVersions": [], "id": "31607", "issueType": "Bug", "key": "PCP-393", "labels": ["pxp_puppet-agent_ci", "pxp-agent_ci"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Duplicate", "resolutionDate": "2016-05-26T03:43:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Test restart_host_run_puppet.rb failed in CI", "timeSpent": "PT0S", "updated": "2016-05-26T03:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "attachments": [], "comments": [], "components": ["pcp-test"], "created": "2016-05-05T05:20:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@230383f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3gn:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_25951032999_*|*_6_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32304", "fixedVersions": [], "id": "32304", "issueType": "Task", "key": "PCP-392", "labels": ["github"], "originalEstimate": "PT0S", "parent": "31796", "parentSummary": "Set up component performance testing for pcp-broker using pcp-test", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Won't Do", "resolutionDate": "2017-03-01T12:57:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add Jira webhooks to pcp-test repo", "timeSpent": "PT0S", "updated": "2017-03-01T12:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["cpp-pcp-client"], "created": "2016-05-04T10:11:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@13ddcce"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz62zz:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}], "description": "Add such file to enable downstream projects to use CMake's find_package() directly, instead of Findcpp-pcp-client.cmake and FindDependency.cmake. See https://cmake.org/Wiki/CMake/Tutorials/How_to_create_a_ProjectConfig.cmake_file.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32154", "fixedVersions": [], "id": "32154", "issueType": "Task", "key": "PCP-391", "labels": ["maintenance"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add cpp-pcp-clientConfig.cmake file", "timeSpent": "PT0S", "updated": "2017-03-06T11:58:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["QA"], "created": "2016-05-04T10:04:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@61bde9d2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz62zr:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}], "description": "Rather than block the first internationalization tickets from closing due to them inferring the entire scope of internationalization; we should test those tickets specifically and have a separate effort (this ticket) to ensure we have suitable i18n testing\nNote that there is a general QA page for i18n that should be followed/contributed to: https://confluence.puppetlabs.com/display/QA/QA+Internationalization+%28i18n%29+Resources", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32086", "fixedVersions": [], "id": "32086", "issueType": "Task", "key": "PCP-390", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "i18n test plan for pcp cpp code", "timeSpent": "PT0S", "updated": "2016-06-22T09:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pcp-test"], "created": "2016-05-04T08:54:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2c565e0b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3cv:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1997245_*|*_10007_*:*_1_*:*_6436448_*|*_3_*:*_1_*:*_1195336133_*|*_10009_*:*_1_*:*_4906781_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1090385"}], "description": "Implement a test that assess how the broker creates and maintains client connections.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31930", "fixedVersions": [], "id": "31930", "issueType": "Task", "key": "PCP-389", "labels": [], "originalEstimate": "PT0S", "parent": "31796", "parentSummary": "Set up component performance testing for pcp-broker using pcp-test", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-05-18T08:57:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Implement a connection test for pcp-test", "timeSpent": "PT0S", "updated": "2016-05-25T17:27:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "the test is already asserting on exit_code", "created": "2016-05-11T11:55:00.000000"}], "components": ["pxp-agent package", "QA"], "created": "2016-05-04T04:53:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5b4d7c02"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz62t3:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/May/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_630171618_*|*_6_*:*_1_*:*_0"}], "description": "PCP-228 adds a new acceptance test that runs Puppet and expects a failed run.\nIt should also assert the exit code \n\nI noticed a possible discrepancy here that should be re-tested; then we should update the test case when the correct behaviour is confirmed.\n\nThe inconsistency is that we see exit code 4 when running Puppet manually with a failure result:\n{code}[root@wlu11s2tuopmhnu ~]# puppet agent -t --environment failure\nInfo: Using configured environment 'failure'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Caching catalog for wlu11s2tuopmhnu.delivery.puppetlabs.net\nInfo: Applying configuration version '1461935237'\nError: Could not set 'file' on ensure: No such file or directory @ rb_sysopen - /tmp/badfolder/jimmy at 2:/etc/puppetlabs/code/environments/failure/manifests/site.pp\nError: Could not set 'file' on ensure: No such file or directory @ rb_sysopen - /tmp/badfolder/jimmy at 2:/etc/puppetlabs/code/environments/failure/manifests/site.pp\nWrapped exception:\nNo such file or directory @ rb_sysopen - /tmp/badfolder/jimmy\nError: /Stage[main]/Main/Node[default]/File[/tmp/badfolder/jimmy]/ensure: change from absent to file failed: Could not set 'file' on ensure: No such file or directory @ rb_sysopen - /tmp/badfolder/jimmy at 2:/etc/puppetlabs/code/environments/failure/manifests/site.pp\nNotice: Applied catalog in 0.01 seconds\n[root@wlu11s2tuopmhnu ~]# echo $?\n4{code}\n\nBut PXP indicates exit code of 0 for the same environment...\n\n{code}{:envelope=>{:id=>\"d94ccfff-34f0-4e97-9848-78c98e40899a\", :targets=>[\"pcp://jamess-mbp.corp.puppetlabs.net/ruby-pcp-client-82934\"], :message_type=>\"http://puppetlabs.com/rpc_blocking_response\", :sender=>\"pcp://wlu11s2tuopmhnu.delivery.puppetlabs.net/agent\", :expires=>\"2016-04-29T13:06:24.772572Z\"}, :data=>{\"transaction_id\"=>\"54e49393-422c-476c-b3ce-7dbb079ada7b\", \"results\"=>{\"kind\"=>\"apply\", \"time\"=>\"2016-04-29 06:06:20 -0700\", \"transaction_uuid\"=>\"5c825ac6-8741-4a76-b216-86ac92210830\", \"environment\"=>\"failure\", \"status\"=>\"failed\", \"exitcode\"=>0, \"version\"=>1}}}{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32005", "fixedVersions": [], "id": "32005", "issueType": "Task", "key": "PCP-388", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Duplicate", "resolutionDate": "2016-05-11T11:55:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Acceptance: run puppet failed test case should assert exit code", "timeSpent": "PT0S", "updated": "2016-05-11T11:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2016-05-03T16:20:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "* add additional log file to specs\n* new log file folder / directory location will be the same as the existing log file\n* the new file contains only requests that the agent sends and receives. \n* new log contains the requester, and request (module action), probably a datetime\n* no changes to the existing log file"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3546c2e8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Highest Test Level", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Acceptance"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hymmdr:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "pxp-agent can now be configured to write an access log of messages received by the agent. See https://github.com/puppetlabs/pxp-agent#pcp-access-logging for details."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "5.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "04/May/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_193559_*|*_5_*:*_1_*:*_2311142178_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_5086206358_*|*_10004_*:*_1_*:*_3084891682_*|*_10006_*:*_1_*:*_13248768450"}], "description": "PXP-agent should log accesses (requests forwarded by the pcp broker) in a separate file that won't be drowned out.\n\nThis may require some work in Leatherman.Logging to make a separate logging target.\n\nIt also introduces a new file that will need to be registered in puppet-specifications.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31581", "fixedVersions": ["pxp-agent 1.4.0"], "id": "31581", "issueType": "Story", "key": "PCP-387", "labels": ["maintenance", "security"], "originalEstimate": "PT0S", "parent": "31929", "parentSummary": "Remediation steps in response to the PXP Audit", "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2017-01-06T13:21:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Log pxp-agent accesses", "timeSpent": "PT0S", "updated": "2017-02-02T07:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "\nA few questions/comments on this:\n # SSL verification failures don't appear to be logged. I suppose this is a failure to even establish wss and occurs before trapperkeeper-authorization does anything. Does this satisfy the [audit item|https://docs.google.com/document/d/1IDptDxgb3cpHpm2zSwmd3iu73bRfyRE7KRekjWP-Jno/edit] OK?\n # When authorization fails", "created": "2016-08-10T04:36:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Replying to the above questions / comments.\n\n1. The PCP access logger will only log PCP messages. If you don't have WebSocket you won't have PCP so you won't have PCP messages logged. That of course includes the initial {{associate_request}} that is authorized via trapperkeeper-authorization. Everything else is out of scope, including the the HTTP access loggger, which is plus added during this ticket.\n\n2. You have that information in the logs as you said. The access log is just for messages and it's ok as it is, imo.\n\n3. No, it should not. The ERROR comes from trapperkeeper-authorization and we don't have control over it. That is not a broker error. Besides, the ERROR level is used to silence the PCP access logger.\n\n4. This has nothing to do with this ticket.", "created": "2016-08-10T04:51:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "LGTM @ afefd89a5b7e4de91d51f32b1d034447b13d6cb0\n\nOf the 4 questions in my previous comment, #3 is the only one I feel strongly about", "created": "2016-08-10T06:48:00.000000"}], "components": [], "created": "2016-05-03T15:49:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "A PCP audit log should be configurable on the pcp-broker, that prints a separate Apache-style log that includes all relevant fields required for authorization, and the status of the request (IGNORED_DURING_ASSOCIATION, AUTHENTICATION_FAILURE, AUTHORIZATION_FAILURE, EXPIRED, AUTHORIZATION_SUCCESS). Each incoming message should have one entry in the log."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@776310cf"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyn1qf:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Aug/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_14132722_*|*_1_*:*_1_*:*_1902035_*|*_10007_*:*_1_*:*_176656676_*|*_3_*:*_2_*:*_718246744_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_406159562_*|*_10004_*:*_1_*:*_1714212394_*|*_10006_*:*_2_*:*_5428229996_*|*_10005_*:*_1_*:*_61622914"}], "description": "PCP broker does not log any access information\nThe PCP broker does not log any information about PCP message traffic, which makes it impossible to audit what communications were passed and what was allowed and denied.\n\n----\n\nAdd additional configurable audit logging stream. Accesses are currently logged at trace/debug level?", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31880", "fixedVersions": ["pcp-broker 0.8.0"], "id": "31880", "issueType": "Task", "key": "PCP-385", "labels": ["security"], "originalEstimate": "PT0S", "parent": "31929", "parentSummary": "Remediation steps in response to the PXP Audit", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-08-10T06:48:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Log PCP broker access", "timeSpent": "PT0S", "updated": "2016-08-17T17:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Should we also add a authorization check for inventory_request? That's one other piece that could be locked down so it's not accessible to all clients. [~accountid:557058:29f801b5-e0f5-4278-a19b-0e5101f2094d] [~accountid:557058:093475a3-6bc8-4a70-8034-ae5a2ea66512]", "created": "2016-07-07T17:33:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "That sounds reasonable. But if a client set the [destination report|https://github.com/puppetlabs/pcp-specifications/blob/master/pcp/versions/1.0/destination_report.md] flag of a message that has wildcarded `targets`, it will get an inventory back. I think that it will make more sense to check both functionalities. ", "created": "2016-07-08T02:35:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Tempted to leave it for later then. Allowing association without messages pretty much implies inventory-only, and association and messages allows you to get inventory via destination report.\n\nI'll think a bit further about clients - maybe we should have a way to authorize only association and single-target messages (no multi-cast or inventory requests). Those are the privileges pxp-agent should have. Actually, that might just be the semantics for a {{/pcp-broker/inventory}} auth check", "created": "2016-07-08T11:23:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I also wonder about checking for expired messages before authorization. The expired messages will then go through an authorization check and then be dropped, so it seems like there's unnecessary work happing there.\n\nAlso, is there any particular reason to add a new ring request type? Association and inventory requests could be covered by \n{code}\n{\n  names: \"pcp association\"\n  match-request: {\n    type: path\n    path: \"/pcp-broker/send\"\n    query-params: {\n      message-type: [\n        \"http://puppetlabs.com/associate_request\"\n      ]\n    }\n  }\n  ...\n}\n{code}\n\nThe only missing piece is to check authorization on those messages.\n\nThe same could be done for inventory\n{code}\n{\n  names: \"pcp inventory\"\n  match-request: {\n    type: path\n    path: \"/pcp-broker/send\"\n    query-params: {\n      message-type: [\n        \"http://puppetlabs.com/inventory_request\"\n      ]\n    }\n  }\n  ...\n},\n{\n  names: \"pcp multi-cast message\"\n  match-request: {\n    type: path\n    path: \"/pcp-broker/send\"\n    query-params: {\n      targets: [\n        \"pcp://*/agent\",\n        \"pcp://*/*\",\n      ]\n    }\n  }\n  ...\n},\n{code}", "created": "2016-07-08T14:56:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I put up a PR for the original ticket description. It would need minor tweaks (mostly to documentation) to instead use {{/pcp-broker/send}} with various params for associate and inventory requests instead of introducing new paths, as I suggested above.\n\nIf we add support for inventory requests, we should update the authorization.conf shipped with PE as well.", "created": "2016-07-08T15:55:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] As I noted on the standup call I like the idea of differentiating between association and inventory requests by matching on the {{message-type}} query parameter instead of introducing new paths.\n\nFurther I agree that the expiration check should come before the authorization to avoid authorization of expired messages which is as you point out a wasted effort.\n\nFinally I'm not quite sure what you mean by:\n{quote}\nMaybe we should have a way to authorize only association and single-target messages (no multi-cast or inventory requests). Those are the privileges pxp-agent should have. Actually, that might just be the semantics for a {{/pcp-broker/inventory}} auth check", "created": "2016-07-11T14:15:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "{quote}Maybe we should have a way to authorize only association and single-target messages (no multi-cast or inventory requests). Those are the privileges pxp-agent should have. Actually, that might just be the semantics for a /pcp-broker/inventory auth check", "created": "2016-07-11T14:31:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "Ah, ok, thanks. Those examples make sense to me. I like the fact that we are not complicating any further the mapping form PCP messages to the authorization rules.", "created": "2016-07-11T14:47:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "+1 for using the {{message_type}}, so the PCP syntax\n+1 for checking TTL before authorization\n+1 for suggesting the multicast rule", "created": "2016-07-12T05:23:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "validated on rhel7 at puppet-agent master SHA: 02e680db7ce02a82012ed2b9e0c44b91de62a180\nwith an inventory request:\n{code}\n2016-07-12 14:41:48,461 DEBUG [qtp318718981-22] [p.p.b.core] client erict.slice.puppetlabs.net disconnected from /10.32.163.206:37181 1006 WebSocket Read EOF\n2016-07-12 14:41:56,984 DEBUG [qtp318718981-18] [p.p.b.core] client erict.slice.puppetlabs.net connected from /10.32.163.206:37186\n2016-07-12 14:41:56,994 TRACE [qtp318718981-19] [p.p.b.core] Message ecad290d-5bca-4d85-9a25-a95e1d57997d for [\"pcp:///server\"] from erict.slice.puppetlabs.net /10.32.163.206:37186\n2016-07-12 14:41:56,995 TRACE [qtp318718981-19] [p.p.b.core] Authorizing ecad290d-5bca-4d85-9a25-a95e1d57997d for [\"pcp:///server\"] - true: allow-unauthenticated is true - allowed\n2016-07-12 14:41:57,020 TRACE [qtp318718981-20] [p.p.b.core] Message 66584012-7c94-4b01-8814-c08df0ea655e for [\"pcp:///server\"] from erict.slice.puppetlabs.net /10.32.163.206:37186\n2016-07-12 14:41:57,021 TRACE [qtp318718981-20] [p.p.b.core] Authorizing 66584012-7c94-4b01-8814-c08df0ea655e for [\"pcp:///server\"] - true: allow-unauthenticated is true - allowed\n2016-07-12 14:41:57,027 TRACE [qtp318718981-20] [p.p.b.core] Authorizing 18d45105-4a3a-4c5b-a3d0-cb2de10e94fc for [\"pcp://erict.slice.puppetlabs.net/ruby-pcp-client-26371\"] - true: allow-unauthenticated is true - allowed\n2016-07-12 14:41:57,028 TRACE [qtp318718981-20] [p.p.b.activemq] Delivering message 18d45105-4a3a-4c5b-a3d0-cb2de10e94fc for [\"pcp://erict.slice.puppetlabs.net/ruby-pcp-client-26371\"] to accept queue\n{code}", "created": "2016-07-12T15:48:00.000000"}], "components": ["pcp-broker"], "created": "2016-05-03T15:47:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@75d22a92"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz60zr:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Add authorization checks for association and inventory requests"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "5.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Jul/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_13449_*|*_1_*:*_1_*:*_2039724_*|*_10007_*:*_1_*:*_339491921_*|*_3_*:*_1_*:*_95772011_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_5753391_*|*_10006_*:*_2_*:*_5543501190_*|*_10005_*:*_1_*:*_61608453"}], "description": "The PCP broker performs authentication of connections based on the use of a valid SSL certificate, and uses no other criteria. This means that SSL certificates generated for entirely unrelated purposes E.G. a certificate for a database can be used to connect to PCP, or even the CA cert.\n\nGiven how widely we use SSL certificates in PE for a variety of tasks, this exposes more vectors to attack the PCP broker.\n\nIn comparison, ActiveMQ can be configured to require a valid SSL certificate, username, and password.\n\nAn option to consider is embedding information into SSL certificates at signing time to indicate intended usage of the certificate. This can be used to prevent arbitrary certificates from being used to connect to the PCP broker if the certificate was not explicitly created with that use in mind.\n\nSeverity: low to medium, this does not cause a vulnerability in itself but implementing this feature could mitigate other vulnerabilities.\n\n----\n\nA short version of the problem is that any valid cert can connect to the PCP broker; authorization is only checked on sending a message. An additional flaw is that inventory requests have no authorization, so if you can connect you can also find out all clients connected to the broker. Our proposed solution is to add authorization checks to {{associate_request}} and {{inventory_request}} using the same {{/pcp-broker/send}} path.\n\nThis is a moderate step towards more controlled security. The more extensive steps proposed above require changes to several components within a system: that Puppet agents get certificates with PCP client attributes, and those attributes are rescinded when a Puppet agent is promoted to PE Infrastructure that doesn't need client access. Given the more privileged status of PE Infrastructure, a targeted approach of writing rules to block association attempts seems more useful.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31799", "fixedVersions": ["pcp-broker 0.7.1"], "id": "31799", "issueType": "Bug", "key": "PCP-384", "labels": ["security"], "originalEstimate": "PT0S", "parent": "31929", "parentSummary": "Remediation steps in response to the PXP Audit", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-07-12T15:50:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add authorization checks for association and inventory requests", "timeSpent": "PT0S", "updated": "2016-07-18T11:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "One thing we want to consider is whether we should retransmit failed messages when we failover to another server.", "created": "2016-05-03T18:04:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Definitely, but this is not trivial. There are two (three, once we implement the FSM for enabling delivery guarantees) operations that must be coordinated: the synchronous send() call that fails and the connection monitoring thread that could manage the failover. ", "created": "2016-05-04T02:58:00.000000"}, {"author": "557058:18109e62-1b97-4fa3-8217-9c25de3a4710", "body": "Right, we don't need anything at the message level for this round. We just need failover for trying to connect to a broker. ", "created": "2016-05-04T09:31:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "An array setting isn't trivial right now. We could go the easy route and have a {{failover-ws-uri}} setting for now. Otherwise we need to enhance HorseWhisperer (if we want to allow it to be set on the command-line) or rework config file handling to be independent of HorseWhisperer.\n\nFor this spike I'll start with a new {{failover-ws-uri}} option.", "created": "2016-05-05T14:46:00.000000"}], "components": [], "created": "2016-05-03T14:55:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1e07b92f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-404"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Highest Test Level", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Acceptance"}, {"fieldName": "QA Highest Test Level Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Requires acceptance test to ensure the failover does not suffer a regression break"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "High"}, {"fieldName": "QA Risk Severity Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Changes might cause regressions; and might themselves regress in future"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3cn:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "04/May/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_7112659_*|*_1_*:*_1_*:*_5190507_*|*_10007_*:*_1_*:*_93721089_*|*_3_*:*_1_*:*_678588284_*|*_5_*:*_1_*:*_7350598348_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_324983663_*|*_10006_*:*_1_*:*_165486672"}], "description": "In a simple HA topology, you have a master-of-masters (MoM), a replica, and agents. All puppet agents are configured to prefer connecting to the MoM, failing over to the replica if need be. PXP agents are configured to prefer connecting to the  PCP broker on the MoM first, failing over to the replica if needed. (note the PCP broker is never actually running on the replica, but it's important that the agents look there so we can trigger puppet runs after promoting the replica to be a MoM)\n\nIf an open websocket is disconnected, the client should first retry the same server. If that fails, it should proceed down the failover list until it finds one that works. The replica node is not actually running the PCP broker, so there is no risk of the agent connecting to the wrong node. But it will run the broker (and the orchestrator) after it's promoted to MoM, at which point it will be able to trigger puppet runs.\n\nFail-overs should be controlled by a list of brokers, something like\n    {{pcp_brokers = [master, replica]}}", "epicLinkSummary": "Enable agent-side broker failover in PXP Agent", "estimate": "PT0S", "externalId": "32085", "fixedVersions": ["cpp-pcp-client 1.2.0", "pxp-agent 1.2.0"], "id": "32085", "issueType": "Task", "key": "PCP-383", "labels": ["ha-dep"], "originalEstimate": "PT0S", "parent": "31609", "parentSummary": "Enable agent-side broker failover in PXP Agent", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-05-18T09:06:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Spike broker-failover in pxp-agent", "timeSpent": "PT0S", "updated": "2016-08-11T10:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "created": "2016-05-02T10:46:00.000000", "name": "pxp-agent travis failure.txt", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12365"}, {"attacher": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "created": "2016-06-16T13:31:00.000000", "name": "pxp-agent.valgrind", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12288"}], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I don't see anything obvious looking at the specified test it failed on.\n\nHowever, Valgrind has lots of interesting output. It'll take me a little bit to sift through it.", "created": "2016-06-15T18:20:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Attached Valgrind output for investigation.", "created": "2016-06-16T13:32:00.000000"}], "components": ["pxp-agent"], "created": "2016-05-02T10:46:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform pxp-agent"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@14c1f663"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz67fr:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_773631198_*|*_3_*:*_1_*:*_70287704_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_4163174485"}], "description": "Travis CI unit test runs have failed intermittently with an abort during external_modules_interface_test. I've attached one of the recent logs.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32228", "fixedVersions": [], "id": "32228", "issueType": "CI Blocker", "key": "PCP-382", "labels": ["transient"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Cannot Reproduce", "resolutionDate": "2016-06-29T09:37:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Triage Intermittent Travis failures", "timeSpent": "PT0S", "updated": "2017-04-10T14:02:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Passes CI at https://jenkins.puppetlabs.com/view/pxp-agent/view/all/job/platform_pxp-agent_intn-van-sys_stable/69/", "created": "2016-05-05T03:37:00.000000"}, {"author": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "body": "Closing as part of pxp-agent 1.1.3 release tasks", "created": "2016-05-17T16:33:00.000000"}], "components": [], "created": "2016-05-02T10:44:00.000000", "creator": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@534ed929"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyne8n:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Blocks QENG-3373 which is in this sprint"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/May/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_58722945_*|*_1_*:*_1_*:*_157169704_*|*_10007_*:*_1_*:*_2985168_*|*_3_*:*_1_*:*_14678414_*|*_5_*:*_1_*:*_1083352997_*|*_6_*:*_1_*:*_0"}], "description": "The {{pxp-agent}} acceptance test {{Rakefile}} does not accommodate static host files in the same manner as other puppet-agent projects. This causes CI to fail by passing invalid parameters to {{beaker-hostgenerator}}.\n\nExample:\n{code}\nBeakerHostGenerator::Exceptions::InvalidNodeSpecError: Invalid node_info token: aix\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32138", "fixedVersions": ["pxp-agent 1.1.3"], "id": "32138", "issueType": "Bug", "key": "PCP-381", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "resolution": "Fixed", "resolutionDate": "2016-05-05T03:37:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Acceptance: pxp-agent Rakefile does not accommodate static host files in the same manner as other puppet-agent projects", "timeSpent": "PT0S", "updated": "2016-05-17T16:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2016-04-26T07:38:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@53a70324"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz5wp3:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}], "description": "pxp-agent's [helpers for RPC actions|https://github.com/puppetlabs/pxp-agent/blob/stable/acceptance/lib/pxp-agent/test_helper.rb] create and send RPC request messages using _SecureRandom.uuid_ as _:transaction_id_ and then wait for a response from the target identity\n\nThe [on message handler|https://github.com/puppetlabs/pxp-agent/blob/stable/acceptance/lib/pxp-agent/test_helper.rb#L255]  assumes that any message hitting the handler is a response to the RPC request that was just sent. It only checks the sender identity (to ensure 1 response per target identity is received).\nIt does not check the message_type (it might be a pcp_error for the request, or a message unrelated to the request) - I think this is OK; as it allows the test case to assert the message_type, and allows negative tests where a pcp_error is actually expected).\nIt does not check the transaction_id - this is _generally OK_ because the pcp-client identity making the request only exists for the duration of the method so should not be receiving any PCP messages other than for the RPC request it made - but ideally a test case should be able to ensure that it made an RPC request with transaction_id XYZ and then received a response for exactly that transaction_id.\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32004", "fixedVersions": [], "id": "32004", "issueType": "Task", "key": "PCP-380", "labels": ["maintenance"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Minor", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent acceptance - RPC helpers should ensure response is for the expected transaction", "timeSpent": "PT0S", "updated": "2017-03-06T11:58:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Tested in puppet-agent master 1.4.1.447.g826b0a1 using EL7", "created": "2016-04-26T05:55:00.000000"}, {"author": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "body": "Does this ticket need the bug fox release notes field filled in, or is that not needed in this case?", "created": "2016-04-27T11:32:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "I'm not sure, as this is a regression bug that is not present in 1.1.2.", "created": "2016-04-28T12:58:00.000000"}, {"author": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "body": "Closing as part of pxp-agent 1.1.3 release tasks", "created": "2016-05-17T16:33:00.000000"}], "components": ["pxp-agent"], "created": "2016-04-25T05:08:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2b21f6eb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Medium"}, {"fieldName": "QA Risk Severity Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "pxp-agent would not work with custom spool-dir"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz5vqf:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Found while estimating PCP-349; needs a quick fix"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "26/Apr/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_7290833_*|*_1_*:*_1_*:*_4011_*|*_3_*:*_1_*:*_932646_*|*_10009_*:*_1_*:*_699467734_*|*_5_*:*_1_*:*_1153253571_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_80940988"}], "description": "Start pxp-agent with --spool-dir set to a path relative to '~' then trigger a pxp-module-puppet.\n\n**bug**\n\nThe run will fail as the module won't be able to access the results directory.\n\nThis bug was introduced with PCP-345 changes, by which the Configuration logic does not update the HorseWhisperer singleton with the expanded path of --spool-dir.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31512", "fixedVersions": ["pxp-agent 1.1.3"], "id": "31512", "issueType": "Bug", "key": "PCP-379", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-05-04T08:12:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent does not expand correctly the spool-dir path", "timeSpent": "PT0S", "updated": "2016-05-17T16:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "puppetlabs/pcp-test has been spiked. It now implements a trivial PCP client that connects to a broker.", "created": "2016-05-04T08:49:00.000000"}], "components": [], "created": "2016-04-20T07:23:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6f39dfd7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz5s6n:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_109920396_*|*_3_*:*_1_*:*_1104866625_*|*_5_*:*_1_*:*_0"}], "description": "Spike a framework for implementing load tests for the PCP broker.\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32084", "fixedVersions": [], "id": "32084", "issueType": "Task", "key": "PCP-377", "labels": [], "originalEstimate": "PT0S", "parent": "31796", "parentSummary": "Set up component performance testing for pcp-broker using pcp-test", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Done", "resolutionDate": "2016-05-04T08:49:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Spike pcp-test", "timeSpent": "PT0S", "updated": "2016-05-11T17:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "body": "Closing as part of pxp-agent 1.1.3 release tasks", "created": "2016-05-17T16:33:00.000000"}], "components": ["pxp-agent package", "QA"], "created": "2016-04-18T06:34:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@15066d43"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz5qen:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Will cause CI fails when QENG-3373 merges"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/May/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_165303428_*|*_1_*:*_1_*:*_1763390_*|*_10007_*:*_1_*:*_12404628_*|*_3_*:*_1_*:*_2209230_*|*_5_*:*_1_*:*_2359829167_*|*_6_*:*_1_*:*_0"}], "description": "The beaker timesync method does not work on OSX 10.11 hosts ( QENG-3786 ) and therefore the pxp-agent pre-suite will fail for this OS.\n\nIt appears to fail because ntpd is already running (using time.apple.com as the time server)\n\nUntil QENG-3786 is fixed; we need to handle this somehow.\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32227", "fixedVersions": ["pxp-agent 1.1.3"], "id": "32227", "issueType": "Bug", "key": "PCP-376", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-04-20T09:02:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent acceptance pre-suite will fail on OSX", "timeSpent": "PT0S", "updated": "2016-05-17T16:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "body": "Closing as part of pxp-agent 1.1.3 release tasks", "created": "2016-05-17T16:32:00.000000"}], "components": ["pxp-agent", "QA"], "created": "2016-04-14T04:45:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@32a8df21"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz5olr:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Required for PCP-370"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/May/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_3595065_*|*_1_*:*_1_*:*_13727972_*|*_10007_*:*_1_*:*_1569122_*|*_3_*:*_1_*:*_81076901_*|*_5_*:*_1_*:*_2793604001_*|*_6_*:*_1_*:*_0"}], "description": "pxp-agent acceptance makes some use of the \"test fixture\" certs that PCP-370 will be cleaning away.\nGenerally, only puppet generated certificates are used; but this test case uses the test certificates for test cases such as \"client cert and client key do not match\":\nhttps://github.com/puppetlabs/pxp-agent/blob/master/acceptance/tests/invalid_ssl_config.rb\n\nThis should be updated so that the test only uses Puppet generated certificated.\n\nIf we do that, then we should also update this helper lib and remove the helper methods for working with the test certs:\nhttps://github.com/puppetlabs/pxp-agent/blob/master/acceptance/lib/pxp-agent/config_helper.rb", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31798", "fixedVersions": ["pxp-agent 1.1.3"], "id": "31798", "issueType": "Task", "key": "PCP-375", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Done", "resolutionDate": "2016-04-15T08:32:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent acceptance - update helpers to use Puppet generated certs", "timeSpent": "PT0S", "updated": "2016-05-17T16:32:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "attachments": [], "comments": [], "components": ["cpp-pcp-client", "pxp-agent"], "created": "2016-04-14T04:38:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@61f53558"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz5olj:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Test fix."}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Bandwidth."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_4102_*|*_3_*:*_1_*:*_1955265_*|*_6_*:*_1_*:*_0"}], "description": "Upgrading leatherman's Catch to 1.4.0 requires changing the way our C++ components configure such unit test framework.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31606", "fixedVersions": ["cpp-pcp-client 1.1.2", "pxp-agent 1.1.2"], "id": "31606", "issueType": "Task", "key": "PCP-374", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Done", "resolutionDate": "2016-04-14T05:10:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Prepare C++ components for upgrading Catch to v1.4.0", "timeSpent": "PT0S", "updated": "2016-05-11T10:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pxp-agent package", "QA"], "created": "2016-04-14T03:57:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The test case restart_host_run_puppet.rb runs and passes on AIX without being skipped"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1bf09133"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz5olb:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}], "description": "PCP-363 made a change to pxp-agent acceptance that excluded one of the tests from running on AIX due to QENG-3629 (AIX box is unavailable following system reboot)\n\nWhen that ticket is resolved; we should have the test run on AIX again", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31506", "fixedVersions": [], "id": "31506", "issueType": "Task", "key": "PCP-373", "labels": ["maintenance"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Remove AIX limitation on pxp-agent acceptance tests when QENG-3629 completed", "timeSpent": "PT0S", "updated": "2017-03-06T12:02:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Reproduced on Windows 2012 R2  by adding two loops where boost::logging (via leatherman's logging with LOG_INFO) is invoked every 2 ms by different threads, on PCPClient::Connection::conect_ and PXPAgent::RequestProcessor::spoolDirPurgeTask.\n\nWith the same changes, there's no contention on OS X.\n\n", "created": "2016-04-14T05:37:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Also, no issue with BOOST_STATIC flagged on OS X (leatherman 0.4.2).", "created": "2016-04-14T07:04:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This could be due to using static libraries on Windows, not sure. We're able to build dynamic libraries now, so can try out your experiment.", "created": "2016-04-19T10:01:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Initial thoughts are that this has to do with Boost.Nowide's ofstream implementation. That would differ between Windows and Linux, and could be funny when you have multiple versions of libnowide linked. I haven't narrowed down whether the messages are interleaving from within the same binary, or only between separate binaries.\n\nBuilding Leatherman with dynamic libraries seems to make it go away. I suspect when libboost_nowide was still a DLL by default it worked fine as well.\n\nIt does seem to be interleaving between cpp-pcp-client and pxp-agent messages. And Nowide doesn't have any compiled code around fstreams", "created": "2016-04-21T17:04:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This will require a Puppet Agent ticket to move to Leatherman shared libraries on Windows.", "created": "2016-04-21T19:00:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Not testable in a puppet-agent package until PA-305 closes", "created": "2016-04-27T06:41:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "It's not testable until PA-305 closes.", "created": "2016-04-27T09:03:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "You would be able to see changes in the package", "created": "2016-05-03T09:50:00.000000"}, {"author": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "body": "Does this need a docs field release note?", "created": "2016-05-04T08:58:00.000000"}, {"author": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "body": "Closing ticket as part of cpp-pcp-client 1.1.3 release subtasks", "created": "2016-05-17T16:27:00.000000"}], "components": ["pxp-agent"], "created": "2016-04-13T06:41:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@19f2e130"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3ov:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Fixed issue on windows where log messages would occasionally be intertwined, making debugging difficult. "}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Apr/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_496526488_*|*_1_*:*_1_*:*_634881377_*|*_10007_*:*_1_*:*_402120105_*|*_3_*:*_1_*:*_100632285_*|*_10009_*:*_1_*:*_87460171_*|*_5_*:*_1_*:*_1149854063_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_2_*:*_101287048"}], "description": "*To reproduce:*\n * Install puppet-agent on Windows ; set up pxp-agent.conf with valid broker config; and start the pxp-agent service\n ** To do this, you can run pxp-agent/acceptance with TEST_TARGET=windows2012r2-64a\n * Check pxp-agent.log\n\nFrequently there is a log entry that appears to be two INFO entries scrambled together on a single line:\n{code}2016-04-13 04:55:36.068260 INFO  puppetlabs.pxp_agent.main:169 - pxp-agent configuration has been validated\n2016-04-13 04:55:36.068260 INFO  puppetlabs.pxp_agent.util.daemonize:56 - Daemonization completed; pxp-agent PID=1876, process lock 'com_puppetlabs_pxp-agent'\n2016-04-13 04:55:36.068260 INFO  puppetlabs.cpp_pcp_client.client_metadata:108 - Retrieved common name from the certificate and determined the client URI: pcp://l7vlvi75pwdnrz2.delivery.puppetlabs.net/agent\n2016-04-13 04:55:36.068260 INFO  puppetlabs.pxp_agent.request_processor:760 - Loading external modules configuration from C:\\ProgramData\\PuppetLabs\\pxp-agent\\etc\\modules\n2016-04-13 04:55:36.068260 INFO  puppetlabs.pxp_agent.request_processor:805 - Loading external modules from C:\\Program Files\\Puppet Labs\\Puppet\\pxp-agent\\modules\n2016-04-13 04:55:38.380861 INFO  puppetlabs.pxp_agent.results_storage:210 - About to purge the results directories from C:\\ProgramData\\PuppetLabs\\pxp-agent\\var\\spool; TTL = 14d\n2016-04-13 04:55:38.380861 INFO  puppetlabs.pxp_agent.results_storage:255 - Removed 0 directories from C:\\ProgramData\\PuppetLabs\\pxp-agent\\var\\spool\n2016-04-13 04:552016:38.-04-134-38084:55:38.380861 I61 INFO NFO  pup puppetlpetlabs.abs.cpp_pxp_pcp_agencliet.rent.connection:31ques6 - t_prConnocesectisor:ng t892 o 'w- Stss:/arti/bi1ng tf5fzybjwvp27.delivery.puppetlabs.net:8142/pcp/' with a c a che the tctiofor n timeout of 5000 mspurg\nurgiing the spool directory every 24192 minutes; thread id 554\n2016-04-13 04:55:38.521332 INFO  puppetlabs.cpp_pcp_client.connection:435 - Successfully established a WebSocket connection with the PCP broker at wss://bi1f5fzybjwvp27.delivery.puppetlabs.net:8142/pcp/\n2016-04-13 04:55:38.536947 INFO  puppetlabs.cpp_pcp_client.connector:305 - Sending Associate Session request\n2016-04-13 04:55:38.583843 INFO  puppetlabs.cpp_pcp_client.connector:372 - Received Associate Session response 33b90039-1aee-4706-831f-4965ef7b3145 from pcp:///server for request e094c2db-a43b-483d-80ea-5957d2491eed: success{code}\n", "environment": "puppet-agent stable 1.4.1.90.g93a35da", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32001", "fixedVersions": ["cpp-pcp-client 1.1.3"], "id": "32001", "issueType": "Bug", "key": "PCP-372", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Minor", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-05-04T09:03:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent has occasional scrambled log entries on Windows", "timeSpent": "PT0S", "updated": "2021-11-30T14:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "I'm not adding notes here since we'll fully enable localization with PCP-257.", "created": "2016-05-04T08:11:00.000000"}, {"author": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "body": "Closing ticket as part of cpp-pcp-client 1.1.3 release subtasks", "created": "2016-05-17T16:28:00.000000"}, {"author": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "body": "Closing as part of pxp-agent 1.1.3 release tasks", "created": "2016-05-17T16:32:00.000000"}], "components": ["cpp-pcp-client", "pxp-agent"], "created": "2016-04-13T04:18:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@349048e3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3p3:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Bandwidth."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "5.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/May/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_44827945_*|*_1_*:*_1_*:*_9935_*|*_10007_*:*_1_*:*_98307667_*|*_3_*:*_1_*:*_1665594005_*|*_10009_*:*_1_*:*_6605339_*|*_5_*:*_1_*:*_1152991120_*|*_6_*:*_2_*:*_248505_*|*_10011_*:*_1_*:*_13031872"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32137", "fixedVersions": ["cpp-pcp-client 1.1.3", "pxp-agent 1.1.3"], "id": "32137", "issueType": "New Feature", "key": "PCP-371", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Done", "resolutionDate": "2016-05-04T08:11:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Spike i18n support on cpp-pcp-client and pxp-agent", "timeSpent": "PT0S", "updated": "2016-05-17T16:32:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "pxp-agent acceptance makes some use of the \"test fixture\" certs this ticket deals with.\n\nPCP-375 will update pxp-agent acceptance", "created": "2016-04-14T04:37:00.000000"}, {"author": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "body": "Closing as part of pxp-agent 1.1.3 release tasks", "created": "2016-05-17T16:32:00.000000"}], "components": ["pcp-broker", "pxp-agent"], "created": "2016-04-08T05:06:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2583a164"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz5kh3:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "I'm currently re-organizing certs for PCP-357, it makes sense to do it everywhere"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Apr/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_14106004_*|*_1_*:*_1_*:*_5900_*|*_10007_*:*_1_*:*_62407720_*|*_3_*:*_1_*:*_881054654_*|*_5_*:*_1_*:*_2453157138_*|*_6_*:*_1_*:*_0"}], "description": "In all PCP repos, we currently make available the same set of SSL certificates to enable manual testing. This is necessary since we must ensure that the certs used by each component are signed by the same CA.\nWe should rely on local configuration to ensure that and only provide the set of certs that are actually used for CI. ", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31502", "fixedVersions": ["pcp-broker 0.7.1", "pxp-agent 1.1.3"], "id": "31502", "issueType": "Improvement", "key": "PCP-370", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Done", "resolutionDate": "2016-04-19T07:06:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Remove set of certificates used for manual testing from all components", "timeSpent": "PT0S", "updated": "2016-07-15T18:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "[~accountid:557058:093475a3-6bc8-4a70-8034-ae5a2ea66512] I think we need doc notes here.", "created": "2016-05-10T08:59:00.000000"}], "components": [], "created": "2016-04-06T09:27:00.000000", "creator": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1cd970e8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyne7j:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Support for localization has been added to the project."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/May/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_240627_*|*_1_*:*_1_*:*_159291_*|*_10007_*:*_1_*:*_18040708_*|*_3_*:*_1_*:*_1095859_*|*_10009_*:*_1_*:*_89983918_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_2_*:*_421369195_*|*_10004_*:*_1_*:*_95831078_*|*_10006_*:*_1_*:*_2394954184"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32226", "fixedVersions": [], "id": "32226", "issueType": "Improvement", "key": "PCP-369", "labels": ["i18n"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "resolution": "Fixed", "resolutionDate": "2016-05-11T08:48:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "i18n clj-pxp-puppet", "timeSpent": "PT0S", "updated": "2016-08-04T13:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "[~accountid:557058:093475a3-6bc8-4a70-8034-ae5a2ea66512] I think we need doc notes here.", "created": "2016-05-10T08:59:00.000000"}], "components": [], "created": "2016-04-06T09:26:00.000000", "creator": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@40fddb41"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyne7b:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Support for localization has been added to the project."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/May/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_16349623_*|*_1_*:*_1_*:*_179276_*|*_10007_*:*_1_*:*_3243195_*|*_3_*:*_1_*:*_47540290_*|*_10009_*:*_1_*:*_89999662_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_2_*:*_421573873_*|*_10004_*:*_2_*:*_1103683749_*|*_10006_*:*_2_*:*_1339125999"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32136", "fixedVersions": [], "id": "32136", "issueType": "Improvement", "key": "PCP-368", "labels": ["i18n"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "resolution": "Fixed", "resolutionDate": "2016-05-11T08:48:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "i18n clj-pcp-client", "timeSpent": "PT0S", "updated": "2016-08-04T15:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:43c81f8c-ae3f-46d9-84b0-c9c65e1da709", "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "[~accountid:557058:093475a3-6bc8-4a70-8034-ae5a2ea66512] I think we need doc notes here.", "created": "2016-05-10T08:59:00.000000"}], "components": [], "created": "2016-04-06T09:26:00.000000", "creator": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6511418c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyne73:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Support for localization has been added to the project."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/May/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_71762136_*|*_1_*:*_1_*:*_198095_*|*_10007_*:*_1_*:*_2056654_*|*_3_*:*_1_*:*_200539289_*|*_10009_*:*_1_*:*_102457124_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_2_*:*_409116598_*|*_10004_*:*_2_*:*_1103736656_*|*_10006_*:*_2_*:*_1131797990_*|*_10005_*:*_1_*:*_50771"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32048", "fixedVersions": [], "id": "32048", "issueType": "Improvement", "key": "PCP-367", "labels": ["i18n"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "resolution": "Fixed", "resolutionDate": "2016-05-11T08:48:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "i18n clj-pcp-common", "timeSpent": "PT0S", "updated": "2016-08-04T15:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Perhaps the more general but right change to have here is to make sure the acceptance code has no 'puts' or 'print' statements", "created": "2016-04-06T05:14:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "This got quoted as error output in QENG-4695 - it might be good to get this fixed", "created": "2017-01-18T05:04:00.000000"}], "components": ["pxp-agent package", "QA"], "created": "2016-04-06T05:06:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@193dde2d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz5hpr:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_499634397_*|*_1_*:*_1_*:*_24806387914_*|*_10007_*:*_1_*:*_90469016_*|*_3_*:*_1_*:*_4318177_*|*_5_*:*_1_*:*_0"}], "description": "The pxp-agent acceptance test output might show output like this when restarting pcp-broker:\n\n{code}* On master, stop then restart the broker\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n#<Errno::ECONNREFUSED: Connection refused - connect(2) for \"eebzif0yc1txtvh.delivery.puppetlabs.net\" port 8142>\n\n* On each agent, test that a 2nd association has occurred\nBegin teardown\nEnd teardown{code}\n\nThe errors are simply because the pcp-broker is still starting up - they should be suppressed so it doesn't appear to be test error output", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32225", "fixedVersions": [], "id": "32225", "issueType": "Improvement", "key": "PCP-365", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Minor", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2017-01-25T03:53:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent acceptance - suppress errors when testing pcp-broker status endpoint", "timeSpent": "PT0S", "updated": "2017-01-25T03:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [], "components": ["pxp-agent package", "QA"], "created": "2016-04-05T07:33:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@26ff50f2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz5h1z:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Supports PCP-355"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_73773747_*|*_1_*:*_1_*:*_157606_*|*_10007_*:*_1_*:*_1034181_*|*_3_*:*_1_*:*_10941780_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_580236"}], "description": "Until we implement PCP-187 , it is required for hosts involved in PCP messaging to have their system clocks in sync, or else message expiry durations could be short/non-existent \n\nvmpooler may not guarantee correct system clocks on hosts; so we should ensure time is synched as part of the pxp-agent acceptance pre-suite", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32047", "fixedVersions": [], "id": "32047", "issueType": "Improvement", "key": "PCP-364", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-04-06T07:35:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Sync times on pxp-agent acceptance hosts", "timeSpent": "PT0S", "updated": "2016-04-06T07:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pxp-agent", "QA"], "created": "2016-04-04T05:12:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6be2070f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hynhdb:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_2978725_*|*_1_*:*_1_*:*_188723440_*|*_10007_*:*_1_*:*_5337119_*|*_3_*:*_1_*:*_10718556_*|*_10009_*:*_1_*:*_583225269_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_68482818"}], "description": "QENG-3629 is a problem where we cannot SSH into the AIX 61 box after telling it to reboot. Until that ticket is fixed; we need to skip over the pxp-agent acceptance test that restarts the host.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31917", "fixedVersions": [], "id": "31917", "issueType": "Bug", "key": "PCP-363", "labels": ["pxp_puppet-agent_ci"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-04-14T03:57:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Confine host restart test so it does not run on AIX", "timeSpent": "PT0S", "updated": "2016-05-11T17:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [{"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "Will depend on 0.3.0 being shipped, though this can be prepared ahead of this.", "created": "2016-04-03T10:08:00.000000"}], "components": ["ruby-pcp-client"], "created": "2016-04-03T09:58:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@59e76df2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz5g13:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_94605203_*|*_1_*:*_1_*:*_3168880_*|*_10007_*:*_1_*:*_4741728_*|*_3_*:*_1_*:*_147541372_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_306253"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31604", "fixedVersions": ["ruby-pcp-client 0.3.0"], "id": "31604", "issueType": "Sub-task", "key": "PCP-362", "labels": [], "originalEstimate": "PT0S", "parent": "31908", "parentSummary": "Recurring eventmachine crashes in acceptance test runs", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2016-04-06T07:30:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Use #close in acceptance helpers", "timeSpent": "PT0S", "updated": "2016-04-06T07:30:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [], "components": ["ruby-pcp-client"], "created": "2016-04-03T09:56:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@52fdb008"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz5g0v:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_25528_*|*_10007_*:*_1_*:*_63274250_*|*_3_*:*_1_*:*_551531_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_11716880"}], "description": "Rather than stop/starting eventmachine the simpler thing will be to add a disconnect/close to the client; then we can leave the evenmachine loop up, will eliminating the race", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31580", "fixedVersions": ["ruby-pcp-client 0.3.0"], "id": "31580", "issueType": "Sub-task", "key": "PCP-361", "labels": [], "originalEstimate": "PT0S", "parent": "31908", "parentSummary": "Recurring eventmachine crashes in acceptance test runs", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2016-04-04T06:56:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add explicit #close to pcp-client", "timeSpent": "PT0S", "updated": "2016-04-04T06:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Specifying certname in the puppet agent config fixes this", "created": "2016-04-01T10:54:00.000000"}], "components": ["pxp-agent package", "QA"], "created": "2016-04-01T10:53:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@35b7d256"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz5f2n:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Opportunity"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_5451301_*|*_1_*:*_1_*:*_7636_*|*_10007_*:*_1_*:*_209043_*|*_3_*:*_1_*:*_244600114_*|*_10009_*:*_1_*:*_174940785_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_183015"}], "description": "Our acceptance tests mostly fail when run against the shared pe-aix-61-acceptance AIX host\nIt seems that puppet agent assumes a certname of pe-aix-61-acceptance.delivery.puppetlabs.net but the tests (particularly where we work with SSL certs) assume that the certname is exactly the beaker hostname, _pe-aix-61-acceptance_\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31879", "fixedVersions": [], "id": "31879", "issueType": "Bug", "key": "PCP-360", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-04-06T09:03:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent acceptance fails in AIX 6.1 due to hostname mismatch", "timeSpent": "PT0S", "updated": "2016-05-11T17:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["clj-pxp-puppet"], "created": "2016-04-01T07:01:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@a81c9d7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz5eyv:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Currently working on related issues."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_50459_*|*_1_*:*_1_*:*_7231_*|*_10007_*:*_1_*:*_236182438_*|*_3_*:*_1_*:*_5162186_*|*_10009_*:*_1_*:*_806793_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_14469734_*|*_10004_*:*_1_*:*_11774153"}], "description": "The concurrency logic (based on the Responses registry) that ties together message handlers and blocking functions (as run-agent and query-run-status) should provide information about the type of transaction for each registered response.\n\nAlso, the logging should be improved, to allow matching failures to the relevant request messages:\n- log message ID and transaction ID of requests;\n- log the message that caused PXP or PCP errors;\n- log the type of request that caused an error.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32083", "fixedVersions": [], "id": "32083", "issueType": "Improvement", "key": "PCP-358", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Done", "resolutionDate": "2016-04-04T09:35:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "clj-pxp-puppet should log more about ongoing transactions", "timeSpent": "PT0S", "updated": "2016-04-04T09:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [{"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "[~accountid:557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b] this seems like non-user testable code to me.  I suppose it's a memory-leak issue and we could validate it that way.  If it were me i'd probably just set it to risk: low and resolve it.\n\nalso, do we use QA Status to mark whether or not a test-case has been created (or isn't needed) on this team?  It works well for my other teams.", "created": "2016-04-13T12:50:00.000000"}], "components": ["clj-pcp-client", "clj-pxp-puppet"], "created": "2016-03-31T15:24:00.000000", "creator": "6361cbfc59c794184bcbd33a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@35c57b77"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hynhcn:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Bandwidth."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/Apr/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_73620318_*|*_1_*:*_1_*:*_60062316_*|*_10007_*:*_1_*:*_100021827_*|*_3_*:*_1_*:*_422587054_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_607629331"}], "description": "When a client is requested from clj-pxp-puppet, if it fails to connect, an exception is thrown and the client that was being created isn't returned. But that leaves behind a heartbeat thread and a websocket client still active. If the client successfully connects but fails to associate, the client is closed, but not if an exception is thrown while connecting.\n\nhttps://github.com/puppetlabs/clj-pcp-client/blob/master/src/puppetlabs/pcp/client.clj#L261-L277\nhttps://github.com/puppetlabs/clj-pxp-puppet/blob/master/src/puppetlabs/pxp/puppet.clj#L492-L498\n\nIt seems either the client should be closed in this case or it should be returned in a not-yet-connected state. Currently it just leaks, neither being cleaned up nor accessible by the caller.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32135", "fixedVersions": ["clj-pcp-client 0.3.0"], "id": "32135", "issueType": "Bug", "key": "PCP-357", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "6361cbfc59c794184bcbd33a", "resolution": "Fixed", "resolutionDate": "2016-04-15T06:29:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "PCP client leaks if connection fails", "timeSpent": "PT0S", "updated": "2016-07-13T16:27:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Retiring pxp-puppet.", "created": "2017-03-01T14:48:00.000000"}], "components": [], "created": "2016-03-29T11:34:00.000000", "creator": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@23c9a6be"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3jb:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "01/Mar/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_29132080965_*|*_6_*:*_1_*:*_0"}], "description": "Under some circumstances, like when the process running puppet is killed, pxp/run-puppet fails with runtime-error type but a nil error value\n\n{noformat}\n{:type :puppetlabs.pxp.puppet/runtime-error, :error nil, :status failure, :action run-agent, :transaction-id none, :target-certname agent-1}\n{noformat}\n\nReplication steps:\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32046", "fixedVersions": [], "id": "32046", "issueType": "Bug", "key": "PCP-356", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "resolution": "Won't Fix", "resolutionDate": "2017-03-01T14:48:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp/run-agent returns nil errors", "timeSpent": "PT0S", "updated": "2017-03-01T14:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Moving to current sprint because I'm seeing sketchy connectivity to clojars.org", "created": "2016-08-05T04:40:00.000000"}], "components": ["pcp-broker", "pxp-agent", "QA"], "created": "2016-03-29T03:19:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@50a71e4d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz5clz:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_27849118_*|*_1_*:*_1_*:*_11150516447_*|*_10007_*:*_1_*:*_237307570_*|*_3_*:*_1_*:*_18562523_*|*_5_*:*_1_*:*_1279230457_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_94876330"}], "description": "https://jenkins.puppetlabs.com/view/pxp-agent/view/all/job/platform_pxp-agent_intn-van-sys_stable/21/SLAVE_LABEL=beaker,TEST_TARGET=redhat6-64a/testReport/junit/(root)/setup_common/010_Setup_Broker_rb/\n\n{noformat}Host 'kdp2tmsijqge5lv.delivery.puppetlabs.net' exited with 1 running:\n cd ~/pcp-broker; export LEIN_ROOT=ok; lein deps\nLast 10 lines of output were:\n\tRetrieving lein-cloverage/lein-cloverage/1.0.6/lein-cloverage-1.0.6.pom from clojars\n\tRetrieving bultitude/bultitude/0.2.0/bultitude-0.2.0.pom from clojars\n\tRetrieving org/clojure/clojure/1.4.0/clojure-1.4.0.pom from clojars\n\tRetrieving dynapath/dynapath/0.2.0/dynapath-0.2.0.pom from clojars\n\tRetrieving lein-cloverage/lein-cloverage/1.0.6/lein-cloverage-1.0.6.jar from clojars\n\tRetrieving bultitude/bultitude/0.2.0/bultitude-0.2.0.jar from clojars\n\tRetrieving dynapath/dynapath/0.2.0/dynapath-0.2.0.jar from clojars\n\tCould not transfer artifact org.sonatype.oss:oss-parent:pom:5 from/to central (https://repo1.maven.org/maven2/): Failed to transfer file: https://repo1.maven.org/maven2/org/sonatype/oss/oss-parent/5/oss-parent-5.pom. Return code is: 503 , ReasonPhrase:Backend is unhealthy.\n\tThis could be due to a typo in :dependencies or network issues.\n\tIf you are behind a proxy, try setting the 'http_proxy' environment variable.{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31915", "fixedVersions": ["pcp-broker 0.8.0", "pxp-agent 1.2.1"], "id": "31915", "issueType": "Task", "key": "PCP-354", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-08-09T13:50:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent pipeline should use internal Clojure repo mirror", "timeSpent": "PT0S", "updated": "2016-10-27T15:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Tested with clj-pxp-puppet 8c5457b6f85ec63ec7429ba844ff6c0b1b39da6a and pxp-agent in puppet-agent master 1.4.1.216.ga5c2139\n\nExpiration of the requests from clj-pxp-puppet to pxp-agent is just a few seconds in the future:\n\n{code}2016-03-30 06:05:43.496000 TRACE puppetlabs.pxp_agent.request_processor:219 - About to validate and process PXP request message: ENVELOPE: {\"id\":\"fd7b2304-88a8-44e8-b4df-f74c4c46f20f\",\"targets\":[\"pcp://ioexvbijlemea60.delivery.puppetlabs.net/agent\"],\"message_type\":\"http://puppetlabs.com/rpc_non_block\ning_request\",\"sender\":\"pcp://jamess-macbook-pro.local/puppet-api-test\",\"expires\":\"2016-03-30T13:05:48.638Z\"}\nDATA: {\"transaction_id\":\"3cae278b-7cfa-4fc3-bbfa-c61984c0042d\",\"notify_outcome\":true,\"module\":\"pxp-module-puppet\",\"action\":\"run\",\"params\":{\"env\":[],\"flags\":[\"--no-usecacheonfailure\",\"--no-splay\",\"--show_diff\",\"--no-daemonize\",\"--onetime\",\"--verbose\"]}}\nDEBUG: {\"hops\":[{\"server\":\"pcp://uu8wiayr75dykdo.delivery.puppetlabs.net/server\",\"time\":\"2016-03-30T13:05:42.759Z\",\"stage\":\"accepted\"},{\"server\":\"pcp://uu8wiayr75dykdo.delivery.puppetlabs.net/server\",\"time\":\"2016-03-30T13:05:42.765Z\",\"stage\":\"accept-to-queue\"},{\"server\":\"pcp://uu8wiayr75dykdo.deliver\ny.puppetlabs.net/server\",\"time\":\"2016-03-30T13:05:42.780Z\",\"stage\":\"deliver\"}]}{code}\n\n{code}2016-03-30 06:05:47.047181 DEBUG puppetlabs.pxp_agent.action_request:89 - Validating blocking request c4f53400-9c7b-487a-adff-2a5f509f027a by pcp://jamess-macbook-pro.local/puppet-api-test:\nENVELOPE: {\"id\":\"c4f53400-9c7b-487a-adff-2a5f509f027a\",\"targets\":[\"pcp://ioexvbijlemea60.delivery.puppetlabs.net/agent\"],\"message_type\":\"http://puppetlabs.com/rpc_blocking_request\",\"sender\":\"pcp://jamess-macbook-pro.local/puppet-api-test\",\"expires\":\"2016-03-30T13:05:57.190Z\"}\nDATA: {\"transaction_id\":\"406b51d3-0bbe-4a49-8b1d-b20efb064851\",\"module\":\"status\",\"action\":\"query\",\"params\":{\"transaction_id\":\"3cae278b-7cfa-4fc3-bbfa-c61984c0042d\"}}\nDEBUG: {\"hops\":[{\"server\":\"pcp://uu8wiayr75dykdo.delivery.puppetlabs.net/server\",\"time\":\"2016-03-30T13:05:46.311Z\",\"stage\":\"accepted\"},{\"server\":\"pcp://uu8wiayr75dykdo.delivery.puppetlabs.net/server\",\"time\":\"2016-03-30T13:05:46.317Z\",\"stage\":\"accept-to-queue\"},{\"server\":\"pcp://uu8wiayr75dykdo.delive$\ny.puppetlabs.net/server\",\"time\":\"2016-03-30T13:05:46.332Z\",\"stage\":\"deliver\"}]}{code}", "created": "2016-03-30T07:18:00.000000"}], "components": ["clj-pxp-puppet"], "created": "2016-03-24T12:50:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1a44d2f4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Medium"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz5b4f:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Part of the TTL handler ticket PCP-348"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "30/Mar/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_190331_*|*_1_*:*_1_*:*_420192247_*|*_10007_*:*_1_*:*_65214762_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_12860685"}], "description": "Found in clj-pxp-puppet 1.1.0.\n\nAfter executing test-run-agent of clj-pxp-puppet's dev/user.clj, configured to send requests to a running pxp-agent instance, pxp-agent will log the following envelopes, respectively for the non-blocking 'pxp-module-puppet run' request and the blocking 'status query' request:\n\n{code}\n{\"id\":\"007cd602-8bc4-45f3-aa43-002554b0b850\",\"targets\":[\"pcp://client02.example.com/agent\"],\"message_type\":\"http://puppetlabs.com/rpc_non_blocking_request\",\"sender\":\"pcp://client01.example.com/puppet-api-test\",\"expires\":\"2016-03-24T18:28:53.434Z\"}\n\n{\"id\":\"c452297a-6c4a-40da-82bc-78684c0dfb11\",\"targets\":[\"pcp://client02.example.com/agent\"],\"message_type\":\"http://puppetlabs.com/rpc_blocking_request\",\"sender\":\"pcp://client01.example.com/puppet-api-test\",\"expires\":\"2016-03-24T21:14:37.538Z\"}\n{code}\n\n**bug**\n\nFrom the `expires` timestamps it's evident that the periodical 'status query' is performed with a wrong TTL.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32045", "fixedVersions": [], "id": "32045", "issueType": "Bug", "key": "PCP-353", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-03-30T07:18:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "clj-pxp-puppet's run-agent sends 'status query' requests with wrong TTL", "timeSpent": "PT0S", "updated": "2016-03-30T07:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "created": "2016-04-25T14:14:00.000000", "name": "non-root_debug.patch", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12340"}], "comments": [{"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "[~accountid:557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52] I was able to run puppet non-root (under the same user under which {{pxp-agent}} was executing) on my mac with changes to the {{pxp-module-puppet}} captured in the attached [patch|^non-root_debug.patch].\n\nThe essence of it is undoing changes [{{Puppet::Util::Execution.execute()}}|https://github.com/puppetlabs/puppet/blob/4.4.1/lib/puppet/util/execution.rb#L144] does to the process environment. It turns out it should be enough to preserve the [user related environment variables|https://github.com/puppetlabs/puppet/blob/4.4.1/lib/puppet/util/posix.rb#L10] the method discards. Ideally we obtain the respective values by means of the ruby's [Etc.getpwuid()|http://ruby-doc.org/stdlib-2.1.0/libdoc/etc/rdoc/Etc.html#method-c-getpwuid] method rather than from the environment in order to be insensitive to environment variables tampering.\n\nNote that setting the locale to the {{en_US.UTF-8}} was only necessary to prevent a crash in facter on Mac OS X described in FACT-1401.", "created": "2016-04-25T14:12:00.000000"}, {"author": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "body": "[~accountid:557058:093475a3-6bc8-4a70-8034-ae5a2ea66512] do you have that code committed anywhere so we could use it in scale tests?", "created": "2016-05-03T14:48:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "[~accountid:557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52] The code has been merged to master. In contrast to the attached patch it doesn't contain the fix for FACT-1401, but that should not matter as it only affects the legacy ruby based facter.", "created": "2016-05-17T02:54:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "trying to validate this against puppet-agent SHA: bc08aca5c6f17b283158818ead1cb8e57f18552e, on rhel7 master and agent\ni setup puppet as non-root as in the linked ticket.\n\nissue a blocking rpc\nthis is the pxp-agent log:\n{code}\n2016-05-17 16:01:52.071563 DEBUG puppetlabs.pxp_agent.action_request:73 - Validating blocking request 4bb92a2e-63e3-4682-9b83-6f825c7e632c by {3]:\nENVELOPE: {\"id\":\"4bb92a2e-63e3-4682-9b83-6f825c7e632c\",\"targets\":[\"pcp://non-root.er0ck.2.e6v6hmpl1oqth0u.delivery.puppetlabs.net/agent\"],\"message_type\":\"http://puppetlabs.com/rpc_blocking_request\",\"sender\":\"pcp://shell/ruby-pcp-client-21550\",\"expires\":\"2016-05-17T23:02:02Z\"}\nDATA: {\"transaction_id\":\"d3d80e7f-e2d7-41a3-8ddf-0faa6207b3f0\",\"module\":\"pxp-module-puppet\",\"action\":\"run\",\"params\":{\"env\":[],\"flags\":[\"--environment\",\"production\"]}}\nDEBUG: {\"hops\":[{\"server\":\"pcp://rll3qic8t3ymyn6.delivery.puppetlabs.net/server\",\"time\":\"2016-05-17T23:01:51.910Z\",\"stage\":\"accepted\"},{\"server\":\"pcp://rll3qic8t3ymyn6.delivery.puppetlabs.net/server\",\"time\":\"2016-05-17T23:01:51.919Z\",\"stage\":\"accept-to-queue\"},{\"server\":\"pcp://rll3qic8t3ymyn6.delivery.puppetlabs.net/server\",\"time\":\"2016-05-17T23:01:51.951Z\",\"stage\":\"deliver\"}]}\n2016-05-17 16:01:52.071726 INFO  puppetlabs.pxp_agent.request_processor:226 - Processing blocking 'pxp-module-puppet run' request (transaction d3d80e7f-e2d7-41a3-8ddf-0faa6207b3f0), request ID 4bb92a2e-63e3-4682-9b83-6f825c7e632c, by pcp://shell/ruby-pcp-client-21550\n2016-05-17 16:01:52.071800 DEBUG puppetlabs.pxp_agent.request_processor:328 - Validating input parameters of the blocking 'pxp-module-puppet run' request (transaction d3d80e7f-e2d7-41a3-8ddf-0faa6207b3f0), request ID 4bb92a2e-63e3-4682-9b83-6f825c7e632c by pcp://shell/ruby-pcp-client-21550\n2016-05-17 16:01:52.071883 DEBUG puppetlabs.pxp_agent.request_processor:240 - The blocking 'pxp-module-puppet run' request (transaction d3d80e7f-e2d7-41a3-8ddf-0faa6207b3f0) has been successfully validated\n2016-05-17 16:01:52.071966 INFO  puppetlabs.pxp_agent.external_module:313 - Executing the blocking 'pxp-module-puppet run' request (transaction d3d80e7f-e2d7-41a3-8ddf-0faa6207b3f0)\n2016-05-17 16:01:52.072377 DEBUG leatherman.execution:88 - executing command: /home/er0ck/.puppetlabs/opt/pxp-agent/modules/pxp-module-puppet run\n2016-05-17 16:01:53.568151 DEBUG !!! - /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/execution.rb:232:in `execute': Execution of '/opt/puppetlabs/bin/puppet agent --configprint lastrunreport' returned 1: Error: Could not initialize global default settings: couldn't find HOME environment -- expanding `~' (Puppet::ExecutionFailure)\n        from /home/er0ck/.puppetlabs/opt/pxp-agent/modules/pxp-module-puppet:51:in `check_config_print'\n        from /home/er0ck/.puppetlabs/opt/pxp-agent/modules/pxp-module-puppet:127:in `start_run'\n        from /home/er0ck/.puppetlabs/opt/pxp-agent/modules/pxp-module-puppet:227:in `run'\n        from /home/er0ck/.puppetlabs/opt/pxp-agent/modules/pxp-module-puppet:363:in `action_run'\n        from /home/er0ck/.puppetlabs/opt/pxp-agent/modules/pxp-module-puppet:372:in `<main>'\n\n2016-05-17 16:01:53.568296 DEBUG leatherman.execution:555 - process exited with status code 1.\n2016-05-17 16:01:53.568493 DEBUG puppetlabs.cpp_pcp_client.validator:55 - Schema validation failure: ERROR1: <root>  - ERROR2: <root>  - ERROR3: <root>  - ERROR4: <root>  - ERROR5: <root>  - ERROR6: <root>  - ERROR7: <root>\n2016-05-17 16:01:53.568648 DEBUG puppetlabs.pxp_agent.module:64 - The task executed for the blocking 'pxp-module-puppet run' request (transaction d3d80e7f-e2d7-41a3-8ddf-0faa6207b3f0) returned no results on stdout - stderr: (empty)\n2016-05-17 16:01:53.568691 ERROR puppetlabs.pxp_agent.request_processor:352 - The task executed for the blocking 'pxp-module-puppet run' request (transaction d3d80e7f-e2d7-41a3-8ddf-0faa6207b3f0) returned no results on stdout - stderr: (empty)\n2016-05-17 16:01:53.568772 DEBUG puppetlabs.cpp_pcp_client.connector:372 - Creating message with id 8fdc1529-6a5b-4218-853a-bd9e1c2cd4f6 for 1 receiver\n2016-05-17 16:01:53.568851 DEBUG puppetlabs.cpp_pcp_client.connector:291 - Sending message of 564 bytes:\n1size: 270 bytes - content: {\"id\":\"8fdc1529-6a5b-4218-853a-bd9e1c2cd4f6\",\"message_type\":\"http://puppetlabs.com/rpc_error_message\",\"targets\":[\"pcp://shell/ruby-pcp-client-21550\"],\"expires\":\"2016-05-17T23:01:55.568727Z\",\"sender\":\"pcp://non-root.er0ck.2.e6v6hmpl1oqth0u.delivery.puppetlabs.net/agent\"}size: 283 bytes - content: {\"transaction_id\":\"d3d80e7f-e2d7-41a3-8ddf-0faa6207b3f0\",\"id\":\"4bb92a2e-63e3-4682-9b83-6f825c7e632c\",\"description\":\"The task executed for the blocking 'pxp-module-puppet run' request (transaction d3d80e7f-e2d7-41a3-8ddf-0faa6207b3f0) returned no results on stdout - stderr: (empty)\"}\n{code}\n\nfrom same session i started the pxp-agent i can see the proper homedir:\n{code}\n[er0ck@e6v6hmpl1oqth0u ~]$ echo $HOME\n/home/er0ck\n[er0ck@e6v6hmpl1oqth0u ~]$ whoami\ner0ck\n{code}\n\nit's possible the pxp-agent code hasn't made it into a master puppet-agent build, yet", "created": "2016-05-17T17:05:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "[~accountid:557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715] The error you see would be expected with the old code. Can you please verify that your {{/home/er0ck/.puppetlabs/opt/pxp-agent/modules/pxp-module-puppet}} contains the changes from [https://github.com/puppetlabs/pxp-agent/pull/427]?\n\nEdit: Given the line numbers in the stack trace it seems it's the old version - for instance the call to the {{execute}} method from the {{check_config_print}} method is at line 72 in the new version (rather than at line 51 as reported in the stack trace).", "created": "2016-05-17T18:04:00.000000"}, {"author": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "body": "The team discussed that this should not be documented. It was included for helping AO testing, but is not intended to be a commonly used feature right now. ", "created": "2016-05-18T09:04:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Works on Solaris 10 as well:\n\n{noformat}2016-05-27 09:24:06.555752 DEBUG puppetlabs.cpp_pcp_client.connector:291 - Sending message of 914 bytes:\n1size: 275 bytes - content: {\"id\":\"f5edad92-d2fe-4986-8b3f-98e8759037ce\",\"message_type\":\"http://puppetlabs.com/rpc_blocking_response\",\"targets\":[\"pcp://jamess-macbook-pro.local/ruby-pcp-client-4636\"],\"expires\":\"2016-05-27T16:24:08.555365Z\",\"sender\":\"pcp://j004qw4viebgbab.delivery.puppetlabs.net/agent\"}size: 250 bytes - content: {\"transaction_id\":\"d5e1b541-6b0e-4b46-baa3-ed9a99f7256c\",\"results\":{\"kind\":\"apply\",\"time\":\"2016-05-27 09:24:05 -0700\",\"transaction_uuid\":\"6396ea19-c9cf-4cb7-9aac-91c250ebec29\",\"environment\":\"production\",\"status\":\"unchanged\",\"exitcode\":0,\"version\":1}}size: 373 bytes - content: {\"hops\":[{\"server\":\"pcp://hd7ozzjy58f7lpz.delivery.puppetlabs.net/server\",\"time\":\"2016-05-27T16:24:01.988Z\",\"stage\":\"accepted\"},{\"server\":\"pcp://hd7ozzjy58f7lpz.delivery.puppetlabs.net/server\",\"time\":\"2016-05-27T16:24:01.998Z\",\"stage\":\"accept-to-queue\"},{\"server\":\"pcp://hd7ozzjy58f7lpz.delivery.puppetlabs.net/server\",\"time\":\"2016-05-27T16:24:02.029Z\",\"stage\":\"deliver\"}]}\n2016-05-27 09:24:06.555933 INFO  puppetlabs.pxp_agent.pxp_connector:204 - Sent response for the blocking 'pxp-module-puppet run' request (transaction d5e1b541-6b0e-4b46-baa3-ed9a99f7256c) by pcp://jamess-macbook-pro.local/ruby-pcp-client-4636\n2016-05-27 09:24:06.556094 DEBUG puppetlabs.pxp_agent.request_processor:252 - The blocking 'pxp-module-puppet run' request (transaction d5e1b541-6b0e-4b46-baa3-ed9a99f7256c), request ID 935ee454-874b-4879-9142-956f655312de by pcp://jamess-macbook-pro.local/ruby-pcp-client-4636, has been successfully processed{noformat}", "created": "2016-05-27T10:27:00.000000"}, {"author": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "body": "{quote}3. Generally I am unsure of the acceptance criteria here - instead of relying on the script attached to ORCH-111 , should pxp-agent work as a service following non-root user agent installation?{quote}\n\nI think a separate ticket to make pxp-agent have better defaults to run as a non-root user is ok for this.", "created": "2016-05-27T10:43:00.000000"}], "components": [], "created": "2016-03-23T12:09:00.000000", "creator": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@bf06d66"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Highest Test Level", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Acceptance"}, {"fieldName": "QA Highest Test Level Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "In pxp-agent acceptance we should ensure that everything can run with standard user privileges"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "High"}, {"fieldName": "QA Risk Probability Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Future changes might not consider non-root user; and OS-specific regressions are possible"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "High"}, {"fieldName": "QA Risk Severity Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Some users require non-root users for their workflows"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hynbyn:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Apr/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_16274483_*|*_1_*:*_2_*:*_2651850900_*|*_10007_*:*_1_*:*_71365625_*|*_3_*:*_2_*:*_1827031449_*|*_10009_*:*_1_*:*_5628411_*|*_5_*:*_2_*:*_6142476762_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_1296259329_*|*_10006_*:*_1_*:*_167110712"}], "description": "In order to orchestrate non-root agents we'll need to be able to communicate with them via pxp. Our current plan is to have users run pxp-agent for every user they want to run an agent for and let it run pxp. See ORCH-111 for how we're setting up pxp and non-root agents. Unfortunately the pxp puppet module does not support running as non-root.\n\nThe pxp puppet module should work when pxp-agent is running as non-root and run puppet as that user.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31797", "fixedVersions": ["pxp-agent 1.2.0"], "id": "31797", "issueType": "Improvement", "key": "PCP-349", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "resolution": "Fixed", "resolutionDate": "2016-06-01T08:45:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-module-puppet should support running as non-root.", "timeSpent": "PT0S", "updated": "2016-08-11T10:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "After giving a better look at the issue I think it's not due to a wrong clj-pxp-puppet logic", "created": "2016-03-23T12:40:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Tested in clj-pxp-puppet 8c5457b6f85ec63ec7429ba844ff6c0b1b39da6a\n\nThe reproduction steps no longer work (at least, the issue is not likely to reproduce any more).\n\nThe log message can be seen by:\n * Call (user/test-run-agent) in repl\n * Ctrl + C to abort the repl command a moment after it begins\n * Call (user/test-run-agent) again start another run\n\n{code}user=> (user/test-run-agent)\n\nuser=> (user/test-run-agent)\n2016-03-30 13:44:45,542 WARN  [WebSocketClient@69823941-423] [p.p.puppet] #<core$str clojure.core$str@10c20dd4> Received PXP response {:id cc62a2e4-fec3-493e-96d6-34632fc954b3, :targets [pcp://jamess-macbook-pro.local/puppet-api-test], :message_type http://puppetlabs.com/rpc_non_blocking_response, :sender pcp://ioexvbijlemea60.delivery.puppetlabs.net/agent, :expires 2016-03-30T12:44:47.191259Z, :_chunks {:debug {:descriptor {:type 3, :flags #{}}, :data #<byte[] [B@563f6016>}, :data {:descriptor {:type 2, :flags #{}}, :data #<byte[] [B@5efdddfc>}}} which doesn't match any known transaction_id", "created": "2016-03-30T06:48:00.000000"}], "components": ["clj-pxp-puppet"], "created": "2016-03-23T11:42:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@33c69e21"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Medium"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Risk Severity Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Issue is a spurious log entry - low impact to user"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz59qf:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "23/Mar/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_60006160_*|*_10007_*:*_1_*:*_64051122_*|*_3_*:*_1_*:*_450658661_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_12433236"}], "description": "*Reproduction:*\n * Setup pcp-broker\n * Configure pxp-agent to associate with the broker\n * Edit dev/user.clj in clj-pxp-puppet so that it will use this broker and pxp-agent\n * Shut down pxp-agent\n * In lein repl, execute _(user/test-run-agent)_ and wait for it to timeout then return to the user=> prompt\n * As soon as lein repl returns to the prompt, start up pxp-agent again and then run _(user/test-run-agent)_ again\n\n*Expected:*\n * pxp-agent should run puppet-agent succesfully\n\n*Actual:*\n * The puppet-agent run does succeed, but we also see an error:\n{code}user=> (user/test-run-agent)\n2016-03-23 16:57:00,638 ERROR [WebSocketClient@1534238552-194] [p.p.puppet] Received PXP response {:id 4aa463d5-9ec6-4d71-9c48-33eaede93c16, :targets [pcp://jamess-macbook-pro.local/puppet-api-test], :message_type http://puppetlabs.com/rpc_blocking_response, :sender pcp://f3v1b6gelu4773c.delivery.puppetlabs.net/agent, :expires 2016-03-23T16:57:00.298002Z, :_chunks {:debug {:descriptor {:type 3, :flags #{}}, :data #<byte[] [B@10a45341>}, :data {:descriptor {:type 2, :flags #{}}, :data #<byte[] [B@6bbbdb48>}}} which doesn't match any known transaction_id\n2016-03-23 16:57:00,639 ERROR [WebSocketClient@1534238552-194] [p.p.puppet] PXP response message data:\n{:transaction_id \"2837383b-36ad-42d2-b59f-c957f2811a4c\", :results {:transaction_id \"8b422388-a7f7-40ca-b4ba-00694704ad71\", :status \"unknown\"}}\nSuccess FN called\n{:transaction_id bbbd4cd1-ee51-44af-a382-c13b28fa4ca8, :exitcode 0, :status success, :stdout {\"kind\":\"apply\",\"time\":\"2016-03-23 09:56:55 -0700\",\"transaction_uuid\":\"8fe1407d-977b-4dcb-a5cf-ec797e1bf95a\",\"environment\":\"sleep\",\"status\":\"changed\",\"exitcode\":0,\"version\":1}}\nsuccess\nnil\nuser=>{code}", "environment": "pcp-broker 197acbd97541831c5b4ff4c0c46670c86d901ce9\npuppet-agent 1.4.0.202.gadf3cd4\nclj-pxp-puppet 8a08cadcba67478e3d21242eefc6e5550c3ba711", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32134", "fixedVersions": [], "id": "32134", "issueType": "Bug", "key": "PCP-348", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-03-30T06:48:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "clj-pxp-puppet might log an error about unknown transaction_id after a message times out", "timeSpent": "PT0S", "updated": "2016-05-11T17:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["clj-pcp-client"], "created": "2016-03-23T06:46:00.000000", "creator": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@f5783bb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz58vj:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_2767327_*|*_1_*:*_1_*:*_10329545_*|*_10007_*:*_1_*:*_231228552_*|*_3_*:*_1_*:*_62423189_*|*_10009_*:*_1_*:*_1164495_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_14148083_*|*_10006_*:*_1_*:*_724833492"}], "description": "In certain situation it would be useful to be able to store some user data into the clj-pcp-client's [Clinet defrecord|https://github.com/puppetlabs/clj-pcp-client/blob/master/src/puppetlabs/pcp/client.clj#L55].\nSince the object created by a defrecord is a map, it's actually already possible, but it would be nicer to be able to pass the user data as a parameter to the [connect|https://github.com/puppetlabs/clj-pcp-client/blob/master/src/puppetlabs/pcp/client.clj#L261] function.\nNote that there are at least two use cases for this functionality already:\n* the clj-pxp-puppet client could use the user data field for storing a reference to it's own [Client defrecord object|https://github.com/puppetlabs/clj-pxp-puppet/blob/master/src/puppetlabs/pxp/puppet.clj#L115], which would make it possible for the clj-pcp-client's protocol handlers to access the clj-pxp-puppet context without having to employ closures\n* it could be used for storing parameters for the mock pxp-agent used in the clj-pxp-puppet test code, such parameters would be used to influence the behavior of the mock agent for instance to be able to test various failure scenarios more easily", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32044", "fixedVersions": ["clj-pcp-client 0.3.0"], "id": "32044", "issueType": "Improvement", "key": "PCP-346", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "resolution": "Done", "resolutionDate": "2016-04-04T09:35:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add a user data field to the clj-pcp-client", "timeSpent": "PT0S", "updated": "2016-07-13T16:27:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Hi [~accountid:557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52], thanks for this.\nSince in the PCP team we had discussed more than once about why we should / should not create directories, could you please tell us a bit about your reason for this?", "created": "2016-03-23T06:57:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "validated on ubuntu1404 agent with master puppet-agent SHA: 1ad715ab98be3e7c1ed7d8beed697054331a32ec\nroot:\n{code}\nroot@myzbgrt97lmwj0s:~# ls -l /opt/puppetlabs/pxp-agent/\ntotal 8\ndrwxr-xr-x 2 root root 4096 Apr 13 13:48 modules\ndrwxr-xr-x 2 root root 4096 Apr 13 13:58 spool\nroot@myzbgrt97lmwj0s:~# service pxp-agent stop\n * Stopping PXP agent                                                                                                                                                                                           [ OK ]\nroot@myzbgrt97lmwj0s:~# rm /opt/puppetlabs/pxp-agent/spool/\nrm: cannot remove \u2018/opt/puppetlabs/pxp-agent/spool/\u2019: Is a directory\nroot@myzbgrt97lmwj0s:~# rmdir /opt/puppetlabs/pxp-agent/spool/\nroot@myzbgrt97lmwj0s:~# service pxp-agent start\n * Starting PXP agent                                                                                                                                                                                           [ OK ]\nroot@myzbgrt97lmwj0s:~# ls -l /opt/puppetlabs/pxp-agent/\ntotal 8\ndrwxr-xr-x 2 root root 4096 Apr 13 13:48 modules\ndrwxr-xr-x 2 root root 4096 Apr 13 14:00 spool\n{code}\n\nuser:\n{code}\nerict@myzbgrt97lmwj0s:~$ /opt/puppetlabs/puppet/bin/pxp-agent --logfile ./pxp-agent.log --spool-dir ./spool --config-file /etc/puppetlabs/pxp-agent/pxp-agent.conf\nerict@myzbgrt97lmwj0s:~$ ls -l\ntotal 8\n-rw-rw-r-- 1 erict erict  937 Apr 13 14:29 pxp-agent.log\ndrwxrwxr-x 2 erict erict 4096 Apr 13 14:29 spool\nerict@myzbgrt97lmwj0s:~$ cat pxp-agent.log\n2016-04-13 14:14:19.958809 ERROR puppetlabs.pxp_agent.main:175 - Fatal configuration error: broker-ws-uri value must be defined", "created": "2016-04-13T15:31:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "do these tickets need docs tabs update for Release Notes?", "created": "2016-04-13T15:35:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "I've just added a line.", "created": "2016-04-14T02:41:00.000000"}, {"author": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "body": "Closing as part of pxp-agent 1.1.3 release tasks", "created": "2016-05-17T16:33:00.000000"}], "components": [], "created": "2016-03-22T15:23:00.000000", "creator": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@51570cc7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Highest Test Level", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Unit"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Risk Probability Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "No reason to suspect regression"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Medium"}, {"fieldName": "QA Risk Severity Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "pxp-agent may not work if user manually deletes spool dir"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3pb:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "When pxp-agent starts it will create the spool directory (specified by the '--spool-dir' option) if it doesn't exist, instead of exiting with an error."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "23/Mar/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_15738961_*|*_1_*:*_1_*:*_1275456866_*|*_10007_*:*_1_*:*_62440680_*|*_3_*:*_1_*:*_18371974_*|*_5_*:*_1_*:*_2941066644_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_104510776_*|*_10006_*:*_1_*:*_425014895"}], "description": "I've been playing around with running pxp-agent as non-root and ran into this. Since the agent will crash if the directory isn't present it seems like it should try to create it if it can.\n\nUsers may end up deleting that directory if the files aren't getting removed properly.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31913", "fixedVersions": ["pxp-agent 1.1.3"], "id": "31913", "issueType": "Improvement", "key": "PCP-345", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "resolution": "Fixed", "resolutionDate": "2016-04-13T15:35:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent should try to create it's own spool-dir", "timeSpent": "PT0S", "updated": "2016-05-17T16:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [], "components": ["clj-pcp-client"], "created": "2016-03-22T10:43:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4d3cf105"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz58vb:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_7816979_*|*_1_*:*_1_*:*_82541591_*|*_10007_*:*_1_*:*_440395520_*|*_3_*:*_1_*:*_66695545_*|*_5_*:*_1_*:*_2436280352_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_153878770_*|*_10006_*:*_1_*:*_731177"}], "description": "Add a onMessage callback for ttl_expired messages and propagate the issue in case it's related to an Associate Session request. Allow downstream code to pass more logic by enabling another layer of (callback) indirection.\n\nNote that, with PCP-338, such case will trigger a timeout in Connector::connect, so another Association attempt will be made.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32133", "fixedVersions": ["cpp-pcp-client 1.1.3", "pxp-agent 1.1.3"], "id": "32133", "issueType": "Improvement", "key": "PCP-344", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-03-31T03:37:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Handle Association failures due to TTL expiration in cpp-pcp-client", "timeSpent": "PT0S", "updated": "2016-05-11T10:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Tested @ 8837c02 with user.clj", "created": "2016-04-04T09:09:00.000000"}], "components": ["clj-pxp-puppet"], "created": "2016-03-22T05:26:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@40baf048"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz58lj:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "04/Apr/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_1410964_*|*_1_*:*_1_*:*_101546933_*|*_10007_*:*_1_*:*_18273983_*|*_3_*:*_1_*:*_678617382_*|*_10009_*:*_2_*:*_1549864_*|*_5_*:*_2_*:*_6044_*|*_10011_*:*_1_*:*_250386021_*|*_10006_*:*_1_*:*_86325559"}], "description": "By looking at the following output of `test-run-agent#58fc7cd`, it is evident that there's no handler for ttl_expired messages:\n\n{code}\nuser=> (user/test-run-agent)\n2016-03-22 10:57:07,027 WARN  [WebSocketClient@1463233499-26] [p.p.puppet] Received message of unknown type. Ignoring:  {:id 4ae9446c-dbec-4584-b748-29f8e0ae410a, :targets [pcp://client01.example.com/puppet-api-test], :message_type http://puppetlabs.com/ttl_expired, :sender pcp:///server, :expires 2016-03-22T10:57:07.011Z, :_chunks {:debug {:descriptor {:type 3, :flags #{}}, :data #<byte[] [B@a579eb2>}, :data {:descriptor {:type 2, :flags #{}}, :data #<byte[] [B@4f691b92>}}}\n{code}\n\nclj-pxp-puppet should instead consider such messages when related to its current transaction.\nNote that the ttl_expired schema is already available in clj-pcp-common.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32224", "fixedVersions": [], "id": "32224", "issueType": "Improvement", "key": "PCP-343", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Done", "resolutionDate": "2016-04-04T09:35:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Implement a ttl_expired handler for clj-pxp-puppet", "timeSpent": "PT0S", "updated": "2016-04-04T09:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "70121:ef2e2611-7893-499f-94ad-b7b2245beace", "body": "Ping [~accountid:557058:29f801b5-e0f5-4278-a19b-0e5101f2094d]", "created": "2016-03-17T16:52:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "[~accountid:70121:ef2e2611-7893-499f-94ad-b7b2245beace] thanks for the input. We'll evaluate this in the next few days.\n\nIn the meantime, note that the PXP transaction_id is only used at the PXP layer", "created": "2016-03-18T07:58:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "In the submitted PR I make sure the status query result is included - if available - in the map passed to the {{failure-fn}} function in much the same way as it is included in the map passed to the {{success-fn}} function. The status query result in turn contains the requested {{transaction_uuid}}.\n\n-While at it the names of the keys in the map passed to the {{failure-fn}} were made consistent with those in the map passed to the {{success-fn}}, namely:-\n* -{{:transaction-id}} was renamed to {{:transaction_id}}-\n* -{{:target-certname}} was renamed to {{:target_certname}}-\n\nEdit: These changes were rejected during the PR review until they are discussed with downstream projects.", "created": "2016-03-24T16:00:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "[~accountid:70121:ef2e2611-7893-499f-94ad-b7b2245beace], in the attached PR we fix the problem for certain specific scenarios only. The thing that differentiates those scenarios from the rest is whether {{pxp-module-puppet}} was able to read/parse the run result file of the puppet run it had triggered. It case it was then the map passed to the {{failure-fn}} contains a {{:stdout}} key, and the value associated with that key is JSON encoded data returned by the {{pxp-module-puppet}} - which in turn contains a {{transaction_uuid}} attribute which is the requested puppet run transaction ID.\nBut please be warned that in case {{pxp-module-puppet}} is not able to read the run result file, the {{transaction_uuid}} attribute won't include (if at all present) any valid puppet run transaction ID but rather the string {{unknown}}.\nUnfortunately reading the run result file is about the only option of learning the puppet run transaction ID of a puppet run - as it (the puppet run transaction ID) is only \"leaked\" to the catalog request and the run report associated with the given puppet run - see https://github.com/puppetlabs/puppet/blob/master/lib/puppet/configurer.rb. So there is nothing we can do on the {{pxp-module-puppet}} side to obtain the puppet run transaction ID if we fail to read the puppet run's run result file.\n\nHere is an example of the map passed to the {{failure-fn}} in case {{pxp-module-puppet}} was able to read the run result file:\n{code}\n{:target-certname \"client02.example.com\"\n :transaction-id  \"70ce7024-629b-40b6-b393-9b5e6b7d054c\"\n :action          \"run-agent\"\n :error           \"Puppet agent exited with a non 0 exitcode\"\n :type            :puppetlabs.pxp.puppet/runtime-error\n :transaction_id  \"70ce7024-629b-40b6-b393-9b5e6b7d054c\"\n :exitcode        1\n :status          \"failure\"\n :stdout          \"{\\\"kind\\\":\\\"apply\\\",\\\"time\\\":\\\"2026-02-12 19:25:53 +0100\\\",\\\"transaction_uuid\\\":\\\"fa26c197-db67-433e-8cba-510fdcbd0b4f\\\",\\\"environment\\\":\\\"production\\\",\\\"status\\\":\\\"unchanged\\\",\\\"exitcode\\\":1,\\\"version\\\":1,\\\"error_type\\\":\\\"agent_exit_non_zero\\\",\\\"error\\\":\\\"Puppet agent exited with a non 0 exitcode\\\"}\"}\n{code}", "created": "2016-03-29T08:25:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Tested in clj-pxp-puppet 8c5457b6f85ec63ec7429ba844ff6c0b1b39da6a\n\nWhen puppet agent returns non-zero ", "created": "2016-03-30T08:34:00.000000"}], "components": ["clj-pxp-puppet"], "created": "2016-03-17T16:46:00.000000", "creator": "70121:ef2e2611-7893-499f-94ad-b7b2245beace", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6c5ba05"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3pz:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "the map passed to the 'failure-fn' callback of the 'run-agent' function will now include the result of the status query similarly as the map passed to the 'success-fn'"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "18/Mar/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_352439_*|*_1_*:*_1_*:*_488576573_*|*_10007_*:*_1_*:*_402417486_*|*_3_*:*_1_*:*_112562577_*|*_10009_*:*_1_*:*_1015688_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_89462195"}], "description": "At the moment, if puppet errors, clj-pxp-puppet does not include the transaction-uuid generated by puppet. It does however include a transaction-id to be associated with the run in pcp-broker, but it should also include puppets transaction-uuid so that orchestrator can look up its report in puppetdb like it does for failed or successful puppet runs.\n\nAn example of what we get today:\n\n{noformat}\n{:target-certname wog5qx37vpmzfjk.delivery.puppetlabs.net, :transaction-id 7fa43151-d13d-4960-be73-6f201d3d0a1b, :action run-agent, :status failure, :type :puppetlabs.pxp.puppet/runtime-error, :error Puppet agent exited with a non 0 exitcode}\n{noformat}\n\nPerhaps it would make sense to include that key as {{:puppet-transaction-uuid UUID}} ?", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32081", "fixedVersions": ["clj-pxp-puppet 0.1.2"], "id": "32081", "issueType": "Improvement", "key": "PCP-342", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "70121:ef2e2611-7893-499f-94ad-b7b2245beace", "resolution": "Fixed", "resolutionDate": "2016-03-30T08:46:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Include puppets transaction id in error response", "timeSpent": "PT0S", "updated": "2017-08-22T17:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "I've re-introduced a form of polling, but much less \"busy\" one, here is what happens in the polling loop:\n* the code waits for the final response but at most for 20 seconds\n* the code sends a status requests with a timeout of 10 seconds\n* if the status request times out another one (with the standard timeout) is sent in the hope that perhaps the timeout of the first status request was caused by a pxp-agent restart and that the second one will return something meaningful\n* if the status is \"running\" then the polling loop is restarted\n* under any other circumstances the loop is exited\n\nThe timeouts of 20s (while waiting for the final response) and 10s (while querying the transaction status) are hardcoded. Do the values seem reasonable?", "created": "2016-03-17T18:22:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Does this mean we only allow ~30 seconds for the puppet agent to complete? A Puppet run might take up to the scale of 10s of minutes to complete (particularly on a new host where puppet-agent will find that most of its puppet resources need to be changed during the first run)\n\nEDIT: No it does not. As per Michal's comment", "created": "2016-03-21T09:10:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "No. clj-pxp-agent will perform a `status query` request every 20 s until 1) the non-blocking response arrives or 2) a `status query` response indicates \"status\" != \"running\".", "created": "2016-03-22T10:08:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Tested clj-pxp-puppet 8a08cadcba67478e3d21242eefc6e5550c3ba711 with puppet-agent  1.4.0.202.gadf3cd4 (master)\n\nUsed a Puppet environment that included a sleep statement with various sleep lengths to ensure that run-agent and request-agent-run both completed and reported status correctly for various durations of puppet agent run", "created": "2016-03-23T08:18:00.000000"}], "components": ["clj-pxp-puppet"], "created": "2016-03-17T11:44:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1958f0d6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz54af:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "This bug prevents further tests on clj-pxp-puppet 0.1.0"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "18/Mar/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_66465221_*|*_1_*:*_1_*:*_7843_*|*_10007_*:*_1_*:*_102638385_*|*_3_*:*_1_*:*_325003502_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_11956363"}], "description": "Reported by [~accountid:70121:ef2e2611-7893-499f-94ad-b7b2245beace].\n\nclj-pxp-puppet#0.1.0 uses the :timeout entry for setting a hard timeout over the non-blocking transaction for 'pxp-module-puppet run', within the run-agent function. Such timeout is too short for that and it's originally configured for broker or PXP blocking requests; it should not be used for dealing with a PXP non-blocking request.\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32043", "fixedVersions": [], "id": "32043", "issueType": "Bug", "key": "PCP-341", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-03-23T08:18:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "clj-pxp-puppet uses the wrong timeout for non-blocking transactions", "timeSpent": "PT0S", "updated": "2016-05-25T17:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Tested on a Fedora VM with minimal resources", "created": "2016-03-14T05:49:00.000000"}, {"author": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "body": "Closing as part of pxp-agent 1.1.3 release tasks", "created": "2016-05-17T16:33:00.000000"}], "components": ["pxp-agent"], "created": "2016-03-11T09:33:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@109c8a0c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz504n:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Better fix Travis on #master asap"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/May/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_5225_*|*_10007_*:*_1_*:*_16715670_*|*_3_*:*_1_*:*_243957303_*|*_5_*:*_1_*:*_5549717633_*|*_6_*:*_1_*:*_0"}], "description": "The non-blocking test of external_modules_interface_test.cc is failing on Travis.\nThe issue is not reproducible on OS X.\nInvestigate this.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31603", "fixedVersions": ["pxp-agent 1.1.3"], "id": "31603", "issueType": "Bug", "key": "PCP-340", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-03-14T10:57:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent VIRTUAL test fails on Travis CI", "timeSpent": "PT0S", "updated": "2016-05-17T16:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pxp-agent package", "QA"], "created": "2016-03-09T07:15:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@191fe9a2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz4yhb:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}], "description": "https://github.com/puppetlabs/pxp-agent/blob/stable/acceptance/tests/service_stop_start.rb#L59\n\nThis test previously expected pxp-agent to start in unconfigured mode when no config was present; and it needed to skip over Solaris agents; as Solaris defines the pxp-agent.conf file as a dependency of the service and will not allow the service to start.\n\nWhen the behaviour of pxp-agent changed to not having an unconfigured mode; this test was changed to expect the service to NOT be running. But the conditional skipping past Solaris agents was incorrectly left in.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31513", "fixedVersions": [], "id": "31513", "issueType": "Bug", "key": "PCP-339", "labels": ["maintenance"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Minor", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent service acceptance test incorrectly skips Solaris agents", "timeSpent": "PT0S", "updated": "2017-03-06T12:03:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [{"author": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "body": "Closing ticket as part of cpp-pcp-client 1.1.3 release subtasks", "created": "2016-05-17T16:28:00.000000"}], "components": ["pxp-agent"], "created": "2016-03-09T05:22:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3e371b04"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz4ygn:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/May/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_5780719_*|*_1_*:*_1_*:*_790148685_*|*_10007_*:*_1_*:*_171813638_*|*_3_*:*_1_*:*_244020667_*|*_5_*:*_1_*:*_4696373264_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_89808794"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31911", "fixedVersions": ["cpp-pcp-client 1.1.3", "pxp-agent 1.1.3"], "id": "31911", "issueType": "Sub-task", "key": "PCP-338", "labels": [], "originalEstimate": "PT0S", "parent": "31906", "parentSummary": "pxp-agent may process requests after a failed association", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-03-24T07:55:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Implement changes on pxp-agent for handling session association failures", "timeSpent": "PT0S", "updated": "2016-05-17T16:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["protocol"], "created": "2016-03-09T05:19:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@19029b15"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz4ygf:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_513368335_*|*_10007_*:*_1_*:*_170980400_*|*_3_*:*_1_*:*_521821057_*|*_5_*:*_1_*:*_0"}], "description": "Specify the operational behaviour for PCP clients whenever the session association response contains a {\"success\" : false} entry.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31878", "fixedVersions": [], "id": "31878", "issueType": "Sub-task", "key": "PCP-337", "labels": [], "originalEstimate": "PT0S", "parent": "31906", "parentSummary": "pxp-agent may process requests after a failed association", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Done", "resolutionDate": "2016-03-23T05:22:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Specify agent behaviour after session association failure", "timeSpent": "PT0S", "updated": "2016-03-23T05:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2016-03-08T08:49:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@67a5f5b8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3jj:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Mar/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_11152979529_*|*_6_*:*_1_*:*_0"}], "description": "Currently pxp-module-puppet results uses the default value \"unknown\" for several parts of its response structure ( https://github.com/puppetlabs/pxp-agent/blob/master/modules/pxp-module-puppet#L39-L47 )\n\nIn some cases, such as if the agent is disabled; \"unknown\" is inaccurate and might suggest a fault or loss of data. Really the values are not unknown (i.e. they might exist but the module hasn't determined them); they are not applicable (they definitely do not exist) e.g.\n{code}{\"kind\"=>\"unknown\", \"time\"=>\"unknown\", \"transaction_uuid\"=>\"unknown\", \"environment\"=>\"unknown\", \"status\"=>\"unknown\", \"exitcode\"=>1, \"version\"=>1, \"error_type\"=>\"agent_disabled\", \"error\"=>\"Puppet agent is disabled\"}{code}\ncould be\n{code}{\"kind\"=>\"not applicable\", \"time\"=>\"not applicable\", \"transaction_uuid\"=>\"none\", \"environment\"=>\"not applicable\", \"status\"=>\"none\", \"exitcode\"=>1, \"version\"=>1, \"error_type\"=>\"agent_disabled\", \"error\"=>\"Puppet agent is disabled\"}{code}\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32042", "fixedVersions": [], "id": "32042", "issueType": "Bug", "key": "PCP-336", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Minor", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Duplicate", "resolutionDate": "2016-07-15T11:52:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-module-puppet default results value \"unknown\" is not always accurate", "timeSpent": "PT0S", "updated": "2016-07-15T11:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "covered by existing tests. resolving", "created": "2016-03-07T15:34:00.000000"}], "components": [], "created": "2016-03-07T12:07:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5aedbda"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz4xdb:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Broke wrlinux builds"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "07/Mar/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_9265410_*|*_1_*:*_1_*:*_43844_*|*_10007_*:*_1_*:*_1217284_*|*_10009_*:*_1_*:*_78807540_*|*_5_*:*_1_*:*_768156833_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_2067816"}], "description": "Supports disabling locales on wrlinux, where they generally won't work.\n\nWithout this change, we get an exception trying to call {{leatherman::locale::get_locale}} in Leatherman 0.4.x.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32080", "fixedVersions": ["pxp-agent 1.1.1"], "id": "32080", "issueType": "Task", "key": "PCP-334", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-03-08T13:30:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Disable get_locale when LEATHERMAN_USE_LOCALES is disabled", "timeSpent": "PT0S", "updated": "2016-03-17T11:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [{"attacher": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "created": "2016-03-07T03:44:00.000000", "name": "Screen Shot 2016-03-07 at 10.27.54.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12298"}], "comments": [{"author": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "body": "Link to build at http://builds.delivery.puppetlabs.net/puppet-agent/0a01d7da3c2daed23c23122db00e62f6db01a49d/", "created": "2016-03-07T10:45:00.000000"}, {"author": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "body": "Hopefully https://github.com/puppetlabs/puppet-agent-cve/pull/9 will fix it.", "created": "2016-03-07T11:03:00.000000"}, {"author": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "body": "[~accountid:557058:29f801b5-e0f5-4278-a19b-0e5101f2094d] [~accountid:557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b] Does this ticket need something for the docs field?", "created": "2016-03-14T14:29:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "[~accountid:557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c] I don't think so", "created": "2016-03-15T03:54:00.000000"}, {"author": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "body": "Added Docs->not needed based on the comments above.", "created": "2016-03-15T13:28:00.000000"}], "components": ["pxp-agent"], "created": "2016-03-07T03:45:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@52a897ea"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Risk Probability Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Existing tests catch the issue"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "High"}, {"fieldName": "QA Risk Severity Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "pxp-agent completely unusable"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz4wy7:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "07/Mar/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_4815586_*|*_1_*:*_1_*:*_26667206_*|*_5_*:*_1_*:*_1186570812_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_365819"}], "description": "pxp-agent does not work in Windows with pxp-agent-cve @ 9a6d7005f27c40ee2683eb9ab925c9b4cf3f6e33\n\n*To reproduce:*\n * Open a \"Command Prompt with Puppet\" console\n * _cd ../pxp-agent/bin_\n* Run _pxp-agent_\n\n*Expected:*\n * pxp-agent will run and display normal log output (parsed config, loaded modules, associated with broker etc etc)\n\n*Actual:*\n * Error dialog pops up in Windows titled \"pxp-agent.exe - Entry Point Not Found\" and with body \"The procedure entry point SSLv2_client_method could not be located in the dynamic link library C:\\Program Files\\Puppet Labs\\pxp-agent\\bin'libcpp-pcp-client.so.\"\n\nTests [passed OK|http://jenkins-enterprise.delivery.puppetlabs.net:8080/job/enterprise_pxp-agent-cve_intn-van-sys_1.0.x/7/] for pxp-agent-cve @ f14694322c8c25e40ffe8b1506d2f83a374c8a40 ", "environment": "windows2012r2-64a\nPuppet agent 1.3.5.21.g0a01d7d\npxp-agent-cve @ 9a6d7005f27c40ee2683eb9ab925c9b4cf3f6e33", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31579", "fixedVersions": [], "id": "31579", "issueType": "Bug", "key": "PCP-333", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Blocker", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-03-07T12:35:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent fails to execute on Windows", "timeSpent": "PT0S", "updated": "2016-03-21T07:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "body": "[~accountid:557058:263afade-3e4f-46c6-b50a-cf2982192562] do you have thoughts on how much we should concern ourselves with this? I don't know of any user workflows for relocating the batch file, though it does come up in some developer workflows.", "created": "2016-03-16T09:29:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "The reasonable solution for this is to use registry keys. Another options would be a custom action to set the absolute path on install.", "created": "2016-04-20T09:29:00.000000"}, {"author": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "body": "Since we don't support custom modules we don't need to fix this now", "created": "2016-11-14T10:46:00.000000"}], "components": ["pxp-agent"], "created": "2016-03-04T09:02:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@335b62b2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hza3d3:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "04/Mar/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1034797849_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_2_*:*_10886249795_*|*_10006_*:*_1_*:*_10117183825"}], "description": "*Reproduction:*\n * Have pxp-agent installed and working on a Windows agent\n * Stop pxp-agent as a service\n * Copy the pxp-agent modules folder _C:\\Program Files\\Puppet Labs\\Puppet\\pxp-agent\\modules_ to an alternate location e.g. _C:\\ProgramData\\PuppetLabs\\modules_\n * Open a \"Command Prompt with Puppet\" terminal\n * _cd ..\\pxp-agent\\bin_\n * Run pxp-agent using your alternate modules dir _pxp-agent.exe --modules-dir \"C:\\ProgramData\\PuppetLabs\\modules\"_\n\n*Expected:*\n * pxp-agent will start up and load pxp-module-puppet from the alternate modules dir\n\n*Actual:*\n * pxp-agent fails to load the module:\n{code}2016-03-04 07:19:41.631803 DEBUG puppetlabs.pxp_agent.main:161 - pxp-agent logging has been initialized\n2016-03-04 07:19:41.647415 TRACE puppetlabs.cpp_pcp_client.client_metadata:59 - Retrieving client name from certificate 'C:/ProgramData/PuppetLabs/puppet/etc/ssl/certs/v4t0z0aa3qhww3m.delivery.puppetlabs.net.pem'\n2016-03-04 07:19:41.647415 TRACE puppetlabs.cpp_pcp_client.client_metadata:34 - About to validate private key / certificate pair: 'C:/ProgramData/PuppetLabs/puppet/etc/ssl/private_keys/v4t0z0aa3qhww3m.delivery.puppetlabs.net.pem' / 'C:/ProgramData/PuppetLabs/puppet/etc/ssl/certs/v4t0z0aa3qhww3m.delivery.puppetlabs.net.pem'\n2016-03-04 07:19:41.803666 TRACE puppetlabs.cpp_pcp_client.client_metadata:43 - Created SSL context\n2016-03-04 07:19:41.803666 TRACE puppetlabs.cpp_pcp_client.client_metadata:47 - Certificate loaded\n2016-03-04 07:19:41.803666 TRACE puppetlabs.cpp_pcp_client.client_metadata:51 - Private key loaded\n2016-03-04 07:19:41.803666 TRACE puppetlabs.cpp_pcp_client.client_metadata:55 - Private key / certificate pair has been successfully validated\n2016-03-04 07:19:41.803666 INFO  puppetlabs.pxp_agent.main:173 - pxp-agent configuration has been validated\n2016-03-04 07:19:41.803666 DEBUG puppetlabs.pxp_agent.util.daemonize:48 - Console control handler installed\n2016-03-04 07:19:41.803666 INFO  puppetlabs.pxp_agent.util.daemonize:56 - Daemonization completed; pxp-agent PID=2340, process lock 'com_puppetlabs_pxp-agent'\n2016-03-04 07:19:41.803666 TRACE puppetlabs.cpp_pcp_client.client_metadata:59 - Retrieving client name from certificate 'C:/ProgramData/PuppetLabs/puppet/etc/ssl/certs/v4t0z0aa3qhww3m.delivery.puppetlabs.net.pem'\n2016-03-04 07:19:41.803666 INFO  puppetlabs.cpp_pcp_client.client_metadata:106 - Retrieved common name from the certificate and determined the client URI: pcp://v4t0z0aa3qhww3m.delivery.puppetlabs.net/agent\n2016-03-04 07:19:41.803666 TRACE puppetlabs.cpp_pcp_client.client_metadata:34 - About to validate private key / certificate pair: 'C:/ProgramData/PuppetLabs/puppet/etc/ssl/private_keys/v4t0z0aa3qhww3m.delivery.puppetlabs.net.pem' / 'C:/ProgramData/PuppetLabs/puppet/etc/ssl/certs/v4t0z0aa3qhww3m.delivery.puppetlabs.net.pem'\n2016-03-04 07:19:41.803666 TRACE puppetlabs.cpp_pcp_client.client_metadata:43 - Created SSL context\n2016-03-04 07:19:41.803666 TRACE puppetlabs.cpp_pcp_client.client_metadata:47 - Certificate loaded\n2016-03-04 07:19:41.803666 TRACE puppetlabs.cpp_pcp_client.client_metadata:51 - Private key loaded\n2016-03-04 07:19:41.803666 TRACE puppetlabs.cpp_pcp_client.client_metadata:55 - Private key / certificate pair has been successfully validated\n2016-03-04 07:19:41.803666 DEBUG puppetlabs.cpp_pcp_client.client_metadata:108 - Validated the private key / certificate pair\n2016-03-04 07:19:41.803666 INFO  puppetlabs.pxp_agent.request_processor:396 - Loading external modules configuration from C:\\ProgramData\\PuppetLabs\\pxp-agent\\etc\\modules\n2016-03-04 07:19:41.803666 INFO  puppetlabs.pxp_agent.request_processor:436 - Loading external modules from C:\\ProgramData\\PuppetLabs\\modules\n2016-03-04 07:19:41.803666 TRACE leatherman.execution:56 - error reading status of path \"C:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin\\cmd.exe\": The system cannot find the file specified (2)\n2016-03-04 07:19:41.803666 TRACE leatherman.execution:56 - error reading status of path \"C:\\Program Files\\Puppet Labs\\Puppet\\facter\\bin\\cmd.exe\": The system cannot find the file specified (2)\n2016-03-04 07:19:41.803666 TRACE leatherman.execution:56 - error reading status of path \"C:\\Program Files\\Puppet Labs\\Puppet\\hiera\\bin\\cmd.exe\": The system cannot find the file specified (2)\n2016-03-04 07:19:41.803666 TRACE leatherman.execution:56 - error reading status of path \"C:\\Program Files\\Puppet Labs\\Puppet\\mcollective\\bin\\cmd.exe\": The system cannot find the file specified (2)\n2016-03-04 07:19:41.803666 TRACE leatherman.execution:56 - error reading status of path \"C:\\Program Files\\Puppet Labs\\Puppet\\bin\\cmd.exe\": The system cannot find the file specified (2)\n2016-03-04 07:19:41.803666 TRACE leatherman.execution:56 - error reading status of path \"C:\\Program Files\\Puppet Labs\\Puppet\\sys\\ruby\\bin\\cmd.exe\": The system cannot find the file specified (2)\n2016-03-04 07:19:41.803666 TRACE leatherman.execution:56 - error reading status of path \"C:\\Program Files\\Puppet Labs\\Puppet\\sys\\tools\\bin\\cmd.exe\": The system cannot find the file specified (2)\n2016-03-04 07:19:41.803666 DEBUG leatherman.execution:88 - executing command: C:\\Windows\\system32\\cmd.exe /c C:/ProgramData\\PuppetLabs\\modules\\pxp-module-puppet.bat metadata\n2016-03-04 07:19:41.881793 DEBUG !!! - The system cannot find the path specified.\n\nruby: No such file or directory -- C:/ProgramData/PuppetLabs/modules/puppet_shell (LoadError)\n\n\n2016-03-04 07:19:41.881793 DEBUG leatherman.execution:632 - process exited with exit code 1.\n2016-03-04 07:19:41.881793 ERROR puppetlabs.pxp_agent.external_module:174 - Failed to load the external module metadata from C:/ProgramData\\PuppetLabs\\modules\\pxp-module-puppet.bat: The system cannot find the path specified.\n\nruby: No such file or directory -- C:/ProgramData/PuppetLabs/modules/puppet_shell (LoadError)\n\n\n2016-03-04 07:19:41.881793 ERROR puppetlabs.pxp_agent.request_processor:471 - Failed to load \"C:/ProgramData\\PuppetLabs\\modules\\pxp-module-puppet.bat\"; failed to load external module metadata\n2016-03-04 07:19:41.881793 DEBUG puppetlabs.pxp_agent.request_processor:506 - Loaded 'echo' module - action: echo\n2016-03-04 07:19:41.881793 DEBUG puppetlabs.pxp_agent.request_processor:506 - Loaded 'ping' module - action: ping\n2016-03-04 07:19:41.881793 DEBUG puppetlabs.pxp_agent.request_processor:506 - Loaded 'status' module - action: query\n2016-03-04 07:19:41.881793 DEBUG puppetlabs.cpp_pcp_client.connection:325 - WebSocket TLS initialization event; about to validate the certificate\n2016-03-04 07:19:41.881793 TRACE puppetlabs.cpp_pcp_client.connection:343 - Initialized SSL context to verify broker ijstubtpcbq8kqk.delivery.puppetlabs.net\n2016-03-04 07:19:41.881793 TRACE puppetlabs.cpp_pcp_client.connection:389 - WebSocket pre-TCP initialization event\n2016-03-04 07:19:41.897423 TRACE puppetlabs.cpp_pcp_client.connection:309 - Verifying /CN=Puppet CA: ijstubtpcbq8kqk.delivery.puppetlabs.net, issued by /CN=Puppet CA: ijstubtpcbq8kqk.delivery.puppetlabs.net. Verified: 1\n2016-03-04 07:19:41.897423 TRACE puppetlabs.cpp_pcp_client.connection:309 - Verifying /CN=ijstubtpcbq8kqk.delivery.puppetlabs.net, issued by /CN=Puppet CA: ijstubtpcbq8kqk.delivery.puppetlabs.net. Verified: 1\n2016-03-04 07:19:42.038062 TRACE puppetlabs.cpp_pcp_client.connection:394 - WebSocket post-TCP initialization event\n2016-03-04 07:19:42.038062 DEBUG puppetlabs.cpp_pcp_client.connection:400 - WebSocket on open event - connection timings: TCP 5230 us, WS handshake 151379 us, overall 158972 us\n2016-03-04 07:19:42.038062 INFO  puppetlabs.cpp_pcp_client.connection:402 - Successfully established a WebSocket connection with the PCP broker at wss://ijstubtpcbq8kqk.delivery.puppetlabs.net:8142/pcp/\n2016-03-04 07:19:42.038062 DEBUG puppetlabs.cpp_pcp_client.connector:248 - Creating message with id 0c5143f3-de13-467c-8e88-75c27926962e for 1 receiver\n2016-03-04 07:19:42.038062 INFO  puppetlabs.cpp_pcp_client.connector:295 - Sending Associate Session request\n2016-03-04 07:19:42.038062 DEBUG puppetlabs.cpp_pcp_client.connector:171 - Sending message of 239 bytes:\n1size: 233 bytes - content: {\"id\":\"0c5143f3-de13-467c-8e88-75c27926962e\",\"message_type\":\"http://puppetlabs.com/associate_request\",\"targets\":[\"pcp:///server\"],\"expires\":\"2016-03-04T15:19:52.038062Z\",\"sender\":\"pcp://v4t0z0aa3qhww3m.delivery.puppetlabs.net/agent\"}\n2016-03-04 07:19:42.100563 TRACE puppetlabs.cpp_pcp_client.connector:338 - Executing callback for a message with 'http://puppetlabs.com/associate_response' schema\n2016-03-04 07:19:42.100563 INFO  puppetlabs.cpp_pcp_client.connector:362 - Received associate session response 9d6d6c77-f682-41c6-bca3-3a03d23982d2 from pcp:///server for request 0c5143f3-de13-467c-8e88-75c27926962e: success{code}\n\nThis appears to be due to pxp-module-puppet.bat using a relative path that only works relative to the default modules dir:\nhttps://github.com/puppetlabs/pxp-agent/blob/master/modules/pxp-module-puppet.bat#L4\n{code}@echo off\nSETLOCAL\n\ncall \"%~dp0..\\..\\bin\\environment.bat\" %0 %*\n\nruby -S -- \"%~dp0%SCRIPT_NAME%\" %*{code}", "environment": "Windows 2012R2\nPuppet agent 1.3.5.7.g462d0ad", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32079", "fixedVersions": [], "id": "32079", "issueType": "Bug", "key": "PCP-332", "labels": ["maintenance"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Won't Fix", "resolutionDate": "2016-11-14T10:46:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Windows - pxp-module-puppet.bat uses a relative path, cannot use custom modules-dir", "timeSpent": "PT0S", "updated": "2016-11-14T10:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Part of this issue is that setup/common/060_Setup_PCP_Client.rb (and most of the pre-suite in general) is not idempotent. It would need to have a \"puppet cert clean\" statement to delete any current certs.\n\nFor the complete fix for this ticket", "created": "2016-03-03T07:18:00.000000"}], "components": ["pxp-agent package", "QA"], "created": "2016-03-03T07:13:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@25794956"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz4v93:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}], "description": "With PCP-296 implemented; the beaker test execution uses certs generated by the Puppet CA in the SUT to connect ruby-pcp-client to the SUT and drive test steps.\nThese certs are generated and scp'ed to the beaker executor as part of the pre-suite code.\nThis change means that during test development or manual testing; you cannot keep multiple hosts files and quickly run test code (without pre-suites) against SUTs alternately - beaker will only have valid SSL certs for one of the SUTs\n\nRaising as minor because each instance of the tests in CI only ever uses a single SUT", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31910", "fixedVersions": [], "id": "31910", "issueType": "Bug", "key": "PCP-331", "labels": ["maintenance"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Minor", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent acceptance - can no longer switch between host files", "timeSpent": "PT0S", "updated": "2017-03-06T12:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [{"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "Switching to an explicit close with a long-running eventmachine (PCP-361, PCP-362) has not yet eliminated this issue: http://jenkins.puppetlabs.com:8080/job/platform_pxp-agent_intn-van-sys_stable/SLAVE_LABEL=beaker,TEST_TARGET=ubuntu1404-64a/53/console shows:\n\n{code}\n  * Send an rpc_blocking_request to all agents\nProblem in eventmachine reactor thread: \nunknown connection: 24\n/usr/local/rvm/gems/ruby-2.1.1/gems/eventmachine-1.2.0.1/lib/eventmachine.rb:194:in `run_machine'\n\t/usr/local/rvm/gems/ruby-2.1.1/gems/eventmachine-1.2.0.1/lib/eventmachine.rb:194:in `run'\n\t/var/lib/jenkins/workspace/platform_pxp-agent_intn-van-sys_stable/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1404-64a/acceptance/lib/pxp-agent/test_helper.rb:94:in `block in assert_eventmachine_thread_running'\n    RuntimeError: Exception occurred when trying to run Puppet on all agents: Controller PCP client failed to connect with pcp-broker on d0gg36635mh2zau.delivery.puppetlabs.net after 10 attempts: #<PCP::Client:0x0000000351c1a8 @server=\"wss://d0gg36635mh2zau.delivery.puppetlabs.net:8142/pcp/\", @ssl_key=\"tmp/ssl/private_keys/shabriri.pem\", @ssl_cert=\"tmp/ssl/certs/shabriri.pem\", @logger=#<PCP::SimpleLogger:0x0000000351c360 @events=[{:when=>1459878240.6724854, :severity=>0, :message=>[:connect, \"wss://d0gg36635mh2zau.delivery.puppetlabs.net:8142/pcp/\"]}, {:when=>1459878240.6730714, :severity=>0, :message=>[:no_eventmachine_reactor, \"Eventmachine reactor is not running\"]}, {:when=>1459878240.6730855, :severity=>0, :message=>[:close]}], @level=2>, @connection=#<Faye::WebSocket::Client:0x000000035134e0 @url=\"wss://d0gg36635mh2zau.delivery.puppetlabs.net:8142/pcp/\", @ready_state=3, @listeners={\"error\"=>[], \"close\"=>[]}, @driver=#<WebSocket::Driver::Client:0x00000003513080 @listeners={\"open\"=>[#<Proc:0x0000000350aef8@/usr/local/rvm/gems/ruby-2.1.1/gems/faye-websocket-0.10.2/lib/faye/websocket/api.rb:39>], \"message\"=>[#<Proc:0x0000000350ac28@/usr/local/rvm/gems/ruby-2.1.1/gems/faye-websocket-0.10.2/lib/faye/websocket/api.rb:40>], \"close\"=>[#<Proc:0x0000000350a980@/usr/local/rvm/gems/ruby-2.1.1/gems/faye-websocket-0.10.2/lib/faye/websocket/api.rb:41>], \"error\"=>[#<Proc:0x0000000350a7a0@/usr/local/rvm/gems/ruby-2.1.1/gems/faye-websocket-0.10.2/lib/faye/websocket/api.rb:43>]}, @socket=#<Faye::WebSocket::Client:0x000000035134e0 ...>, @reader=#<WebSocket::Driver::StreamReader:0x00000003512a40 @buffer=\"\", @offset=0>, @options={:max_length=>nil, :protocols=>nil, :masking=>true}, @max_length=67108863, @headers={}, @queue=[], @ready_state=3, @extensions=#<WebSocket::Extensions:0x000000035124f0 @rsv3=nil, @rsv2=nil, @rsv1=nil, @by_name={}, @in_order=[], @sessions=[], @index={}>, @stage=0, @masking=true, @protocols=[], @require_masking=nil, @ping_callbacks={}, @key=\"pmlGhFYu0FHsaL9gahy/0A==\", @accept=\"LmtgXXA+GwP6QOk/hfNpIUFfROM=\", @http=#<WebSocket::HTTP::Response:0x00000003511d70 @buffer=[], @headers={}, @stage=0>, @pathname=\"/pcp/\">, @ping=nil, @ping_id=0, @buffered_amount=0, @secure=true, @origin_tls={:private_key_file=>\"tmp/ssl/private_keys/shabriri.pem\", :cert_chain_file=>\"tmp/ssl/certs/shabriri.pem\", :ssl_version=>[\"TLSv1\", \"TLSv1_1\", \"TLSv1_2\"]}, @socket_tls={:private_key_file=>\"tmp/ssl/private_keys/shabriri.pem\", :cert_chain_file=>\"tmp/ssl/certs/shabriri.pem\", :ssl_version=>[\"TLSv1\", \"TLSv1_1\", \"TLSv1_2\"]}, @buffers={\"error\"=>[#<Faye::WebSocket::API::ErrorEvent:0x00000003509580 @type=\"error\", @message=\"Network error: wss://d0gg36635mh2zau.delivery.puppetlabs.net:8142/pcp/: eventmachine not initialized: evma_connect_to_server\", @bubbles=false, @cancelable=false, @current_target=#<Faye::WebSocket::Client:0x000000035134e0 ...>, @target=#<Faye::WebSocket::Client:0x000000035134e0 ...>, @event_phase=2>], \"close\"=>[#<Faye::WebSocket::API::CloseEvent:0x00000003508e50 @type=\"close\", @code=1006, @reason=\"\", @bubbles=false, @cancelable=false, @current_target=#<Faye::WebSocket::Client:0x000000035134e0 ...>, @target=#<Faye::WebSocket::Client:0x000000035134e0 ...>, @event_phase=2>]}>, @identity=\"pcp://shabriri/ruby-pcp-client-27228\", @on_message=nil, @associated=false>\n    /var/lib/jenkins/workspace/platform_pxp-agent_intn-van-sys_stable/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1404-64a/acceptance/tests/pxp-module-puppet/run_puppet_agent_disabled.rb:34\n    /var/lib/jenkins/workspace/platform_pxp-agent_intn-van-sys_stable/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1404-64a/acceptance/tests/pxp-module-puppet/run_puppet_agent_disabled.rb:28\n    /var/lib/jenkins/workspace/platform_pxp-agent_intn-van-sys_stable/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1404-64a/acceptance/tests/pxp-module-puppet/run_puppet_agent_disabled.rb:22\n    /var/lib/jenkins/workspace/platform_pxp-agent_intn-van-sys_stable/SLAVE_LABEL/beaker/TEST_TARGET/ubuntu1404-64a/acceptance/tests/pxp-module-puppet/run_puppet_agent_disabled.rb:3\n    /usr/local/rvm/gems/ruby-2.1.1/gems/beaker-2.38.1/bin/beaker:6\n    /usr/local/rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15\n    /usr/local/rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15\n    Begin teardown\n{code}\n\n{code}\n {:when=>1459878240.6730714, :severity=>0, :message=>[:no_eventmachine_reactor, \"Eventmachine reactor is not running\"]},\n{code}\n\nSo we're still getting unknown connections in eventmachine, causing it to crash.  This is similar to https://github.com/eventmachine/eventmachine/issues/485#issuecomment-72788279 so maybe changing the connection logic to use EM.next_tick as suggested will help eventmachine not become unsyncronised.\n", "created": "2016-04-06T03:49:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "https://github.com/puppetlabs/pxp-agent/pull/382 should reduce some of the impact by checking there's an eventmachine running before every connection, rather than leaving it dead on the ground for subsequent reconnection attempts.", "created": "2016-04-06T04:31:00.000000"}], "components": ["ruby-pcp-client"], "created": "2016-03-02T04:08:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@641aa499"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Medium"}, {"fieldName": "QA Risk Probability Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Can't be certain we have resolved all EventMachine related faults"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hynj0v:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_3031173_*|*_1_*:*_1_*:*_625019190_*|*_10007_*:*_1_*:*_2817220_*|*_3_*:*_1_*:*_1292749987_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_57412_*|*_10006_*:*_1_*:*_1114462116"}], "description": "We're periodically seeing EventMachine::ConnectionNotBound exceptions kill the eventmachine reactor thread during test runs.\n\n{code}\nProblem in eventmachine reactor thread: \nunknown connection: 11\n/usr/local/rvm/gems/ruby-2.1.1/gems/eventmachine-le-1.1.7/lib/eventmachine.rb:173:in `run_machine'\n\t/usr/local/rvm/gems/ruby-2.1.1/gems/eventmachine-le-1.1.7/lib/eventmachine.rb:173:in `run'\n\t/var/lib/jenkins/workspace/platform_pxp-agent_intn-van-sys_stable/SLAVE_LABEL/beaker/TEST_TARGET/windows2012r2-64a/acceptance/lib/pxp-agent/test_helper.rb:96:in `block in start_eventmachine_thread'\n  RuntimeError: An Eventmachine reactor needs to be running\n  /var/lib/jenkins/workspace/platform_pxp-agent_intn-van-sys_stable/SLAVE_LABEL/beaker/TEST_TARGET/windows2012r2-64a/acceptance/tests/reconnect_after_broker_unavailable.rb:24\n  /var/lib/jenkins/workspace/platform_pxp-agent_intn-van-sys_stable/SLAVE_LABEL/beaker/TEST_TARGET/windows2012r2-64a/acceptance/tests/reconnect_after_broker_unavailable.rb:23\n  /var/lib/jenkins/workspace/platform_pxp-agent_intn-van-sys_stable/SLAVE_LABEL/beaker/TEST_TARGET/windows2012r2-64a/acceptance/tests/reconnect_after_broker_unavailable.rb:23\n  /var/lib/jenkins/workspace/platform_pxp-agent_intn-van-sys_stable/SLAVE_LABEL/beaker/TEST_TARGET/windows2012r2-64a/acceptance/tests/reconnect_after_broker_unavailable.rb:23\n  /var/lib/jenkins/workspace/platform_pxp-agent_intn-van-sys_stable/SLAVE_LABEL/beaker/TEST_TARGET/windows2012r2-64a/acceptance/tests/reconnect_after_broker_unavailable.rb:22\n  /usr/local/rvm/gems/ruby-2.1.1/gems/beaker-2.35.0/bin/beaker:6\n  /usr/local/rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15\n  /usr/local/rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15\n{code}\n\nIt seems to be a race caused by the test_helpers usage of eventmachine, specifically stopping and starting a reactor every time we interact with the broker via PCP::Client\n\nThe first interaction would have the sequence:\n\n* starting the em reactor\n* attempting a connection\n* timeout\n* stop the reactor\n\n\nThe next interaction:\n\n* start a reactor\n* reactor is informed of completed connection it wasn't tracking - raises EventMachine::ConnectionNotBound aborting the reactor\n* PCP::Client#connect raises because its assertion that a eventmachine reactor thread must exist fails\n* acceptance test fails\n\nThe usage in acceptance could keep the eventmachine reactor around for the life of the acceptance runner which will reduce the chance of the issue.\n\nAlso we should have a way of cancelling the pending connection on discarding the client, if possible.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31908", "fixedVersions": ["ruby-pcp-client 0.3.1"], "id": "31908", "issueType": "Bug", "key": "PCP-329", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2016-04-06T09:04:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Recurring eventmachine crashes in acceptance test runs", "timeSpent": "PT0S", "updated": "2016-04-06T09:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "This test has been passing in CI without issue", "created": "2016-09-13T03:35:00.000000"}], "components": ["pxp-agent package", "QA"], "created": "2016-03-01T06:25:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5a6e6237"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz4t5j:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_16920572504_*|*_5_*:*_1_*:*_0"}], "description": "https://jenkins-staging.delivery.puppetlabs.net/job/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL=beaker,TEST_TARGET=windows10ent-32a/23/testReport/junit/(root)/tests/invalid_ssl_config_rb/\n\n{noformat}Error Message\n\nExpected text 'failed to load private key' did not appear in file /cygdrive/c/ProgramData/PuppetLabs/pxp-agent/var/log/pxp-agent.log.\nExpected /failed\\ to\\ load\\ private\\ key/ to match \"2016-03-01 04:18:40.156265 ERROR puppetlabs.pxp_agent.main:172 - Fatal configuration error: ssl-ca-cert file 'C:\\\\cygwin\\\\tmp\\\\test-ssl.DSbUw3\\\\ssl\\\\ca\\\\ca_crt.pem' not readable; cannot start pxp-agent\\n2016-03-01 04:18:42.203137 ERROR puppetlabs.pxp_agent.main:172 - Fatal configuration error: ssl-ca-cert file 'C:\\\\cygwin\\\\tmp\\\\test-ssl.DSbUw3\\\\ssl\\\\ca\\\\ca_crt.pem' not readable; cannot start pxp-agent\\n2016-03-01 04:18:46.250022 ERROR puppetlabs.pxp_agent.main:172 - Fatal configuration error: ssl-ca-cert file 'C:\\\\cygwin\\\\tmp\\\\test-ssl.DSbUw3\\\\ssl\\\\ca\\\\ca_crt.pem' not readable; cannot start pxp-agent\\n2016-03-01 04:18:54.296915 ERROR puppetlabs.pxp_agent.main:172 - Fatal configuration error: ssl-ca-cert file 'C:\\\\cygwin\\\\tmp\\\\test-ssl.DSbUw3\\\\ssl\\\\ca\\\\ca_crt.pem' not readable; cannot start pxp-agent\\n2016-03-01 04:19:10.343832 ERROR puppetlabs.pxp_agent.main:172 - Fatal configuration error: ssl-ca-cert file 'C:\\\\cygwin\\\\tmp\\\\test-ssl.DSbUw3\\\\ssl\\\\ca\\\\ca_crt.pem' not readable; cannot start pxp-agent\\n\".\nStacktrace\n\n/var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-32a/puppet-agent/pxp-agent/acceptance/.bundle/gems/gems/minitest-5.8.4/lib/minitest/assertions.rb:129:in `assert'\\n/var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-32a/puppet-agent/pxp-agent/acceptance/.bundle/gems/gems/minitest-5.8.4/lib/minitest/assertions.rb:227:in `assert_match'\\n/var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-32a/puppet-agent/pxp-agent/acceptance/lib/pxp-agent/test_helper.rb:40:in `block in expect_file_on_host_to_contain'\\n/var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-32a/puppet-agent/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.35.0/lib/beaker/dsl/helpers/host_helpers.rb:88:in `block in on'\\n/var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-32a/puppet-agent/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.35.0/lib/beaker/shared/host_manager.rb:115:in `run_block_on'\\n/var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-32a/puppet-agent/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.35.0/lib/beaker/dsl/patterns.rb:35:in `block_on'\\n/var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-32a/puppet-agent/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.35.0/lib/beaker/dsl/helpers/host_helpers.rb:63:in `on'\\n/var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-32a/puppet-agent/pxp-agent/acceptance/lib/pxp-agent/test_helper.rb:39:in `rescue in expect_file_on_host_to_contain'\\n/var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-32a/puppet-agent/pxp-agent/acceptance/lib/pxp-agent/test_helper.rb:35:in `expect_file_on_host_to_contain'\\ntests/invalid_ssl_config.rb:39:in `block (3 levels) in run_test'\\n/var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-32a/puppet-agent/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.35.0/lib/beaker/dsl/structure.rb:43:in `step'\\ntests/invalid_ssl_config.rb:37:in `block (2 levels) in run_test'\\ntests/invalid_ssl_config.rb:16:in `each'\\ntests/invalid_ssl_config.rb:16:in `each_with_index'\\ntests/invalid_ssl_config.rb:16:in `block in run_test'\\n/var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-32a/puppet-agent/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.35.0/lib/beaker/test_case.rb:128:in `eval'\\n/var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-32a/puppet-agent/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.35.0/lib/beaker/test_case.rb:128:in `block in run_test'\\n/usr/local/rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/benchmark.rb:294:in `realtime'\\n/var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-32a/puppet-agent/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.35.0/lib/beaker/test_case.rb:125:in `run_test'\\n/var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-32a/puppet-agent/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.35.0/lib/beaker/test_suite.rb:311:in `block in run'\\n/var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-32a/puppet-agent/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.35.0/lib/beaker/test_suite.rb:308:in `each'\\n/var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-32a/puppet-agent/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.35.0/lib/beaker/test_suite.rb:308:in `run'\\n/var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-32a/puppet-agent/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.35.0/lib/beaker/test_suite.rb:357:in `run_and_raise_on_failure'\\n/var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-32a/puppet-agent/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.35.0/lib/beaker/cli.rb:159:in `run_suite'\\n/var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-32a/puppet-agent/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.35.0/lib/beaker/cli.rb:99:in `execute!'\\n/var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-32a/puppet-agent/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.35.0/bin/beaker:6:in `<top (required)>'\\n/var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-32a/puppet-agent/pxp-agent/acceptance/.bundle/gems/bin/beaker:23:in `load'\\n/var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/windows10ent-32a/puppet-agent/pxp-agent/acceptance/.bundle/gems/bin/beaker:23:in `<main>'\nStandard Output\n\nAttempt to start pxp-agent with invalid SSL config\nlocalhost $ scp ../test-resources/ssl windows10ent-32-1:C:/cygwin/tmp/test-ssl.DSbUw3 {:ignore => }\n\n* Setup - Stop pxp-agent service\n\n* Setup - Wipe pxp-agent log\n\n* Setup - Change pxp-agent config to use a cert that doesn't match private key\n  localhost $ scp /tmp/beaker20160301-6431-1wub3lz windows10ent-32-1:/cygdrive/c/ProgramData/PuppetLabs/pxp-agent/etc/pxp-agent.conf {:ignore => }\n\n* C94730 - Attempt to run pxp-agent with mismatching SSL cert and private key\n  Begin teardown\n  localhost $ scp ../test-resources/ssl windows10ent-32-1:C:/cygwin/tmp/test-ssl.Z6dHoa {:ignore => }\n  localhost $ scp /tmp/beaker20160301-6431-308szp windows10ent-32-1:/cygdrive/c/ProgramData/PuppetLabs/pxp-agent/etc/pxp-agent.conf {:ignore => }\n  End teardown\nStandard Error\n\nWarning: Setting 'pluginsync' is deprecated.\n   (at C:/Program Files/Puppet Labs/Puppet/puppet/lib/puppet/defaults.rb:1607:in `block in <module:Puppet>')\nError: Cannot start pxp-agent, error was: Execution of 'C:/Windows/system32/net.exe start pxp-agent' returned 2: The requested service has already been started.\n\nMore help is available by typing NET HELPMSG 2182.\nWrapped exception:\nExecution of 'C:/Windows/system32/net.exe start pxp-agent' returned 2: The requested service has already been started.\n\nMore help is available by typing NET HELPMSG 2182.\nError: /Service[pxp-agent]/ensure: change from stopped to running failed: Cannot start pxp-agent, error was: Execution of 'C:/Windows/system32/net.exe start pxp-agent' returned 2: The requested service has already been started.\n\nMore help is available by typing NET HELPMSG 2182.{noformat}\n\nNot 100% sure what this error is; but it mentions C:\\cygwin\\ and some parts of the acceptance codebase currently assumes C:\\cygwin64\\", "environment": "puppet-agent stable 1.3.5.323.g52eaeaf\nwindows10ent-32a agent", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32132", "fixedVersions": [], "id": "32132", "issueType": "Bug", "key": "PCP-327", "labels": ["pxp_puppet-agent_ci"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Cannot Reproduce", "resolutionDate": "2016-09-13T03:35:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent acceptance has errors with filepaths on 32bit Windows", "timeSpent": "PT0S", "updated": "2016-09-13T03:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pcp-broker"], "created": "2016-02-29T10:28:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@62550c02"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3n3:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_774909824_*|*_3_*:*_1_*:*_6256706_*|*_10009_*:*_1_*:*_358637_*|*_5_*:*_1_*:*_25760490439_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_424431097"}], "description": "Cut the 0.7.0 release so interested folks can ingest it.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32223", "fixedVersions": ["pcp-broker 0.7.0"], "id": "32223", "issueType": "Improvement", "key": "PCP-325", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2016-03-14T10:28:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Release pcp-broker 0.7.0", "timeSpent": "PT0S", "updated": "2017-01-06T13:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "This might relate to bugs PCP-319 and PCP-322 - the pxp-agent service is not set to automatically start. \nIf the service is not meant to automatically start", "created": "2016-02-29T08:20:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "INVALID - pxp-agent service is not meant to be enabled/automatic until the time when it is configured", "created": "2016-02-29T08:30:00.000000"}], "components": ["pxp-agent package"], "created": "2016-02-29T08:15:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@65c67eb3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz4s93:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_855766_*|*_5_*:*_1_*:*_0"}], "description": "If the pxp-agent.conf file doesn't exist; then pxp-agent as a service will stop running. However it is treated as being faulty:\n\n*EL7*:\n{code}[root@pwgkpnlpidqzd6e pxp-agent]# service pxp-agent status\nRedirecting to /bin/systemctl status  pxp-agent.service\npxp-agent.service - PCP Execution Protocol (PXP) Agent\n   Loaded: loaded (/usr/lib/systemd/system/pxp-agent.service; disabled)\n   Active: failed (Result: exit-code) since Fri 2016-02-26 08:08:08 PST; 4s ago\n  Process: 11050 ExecStart=/opt/puppetlabs/puppet/bin/pxp-agent $PXP_AGENT_OPTIONS --foreground (code=exited, status=3)\n Main PID: 11050 (code=exited, status=3)\n{code}\n\n*Windows*:\n * The pxp-agent service is listed as \"Paused\" which is nssm's way of [marking a service as errored pending user correction|https://nssm.cc/usage]\n\n*Expected behaviour:*\n * All hosts that have puppet-agent installed on them will have the pxp-agent service installed; but not all hosts will be using the service and have manifests to configure it. These hosts should not report a failed service; the service should simply be stopped", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31602", "fixedVersions": [], "id": "31602", "issueType": "Bug", "key": "PCP-324", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Won't Fix", "resolutionDate": "2016-02-29T08:30:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent service should not be listed as a failed service if not configured", "timeSpent": "PT0S", "updated": "2016-02-29T08:30:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "created": "2016-02-29T07:18:00.000000", "name": "Screen Shot 2016-02-29 at 14.15.21.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12305"}], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "INVALID - pxp-agent service is not meant to be enabled/automatic on install", "created": "2016-02-29T08:31:00.000000"}], "components": ["pxp-agent package"], "created": "2016-02-29T07:23:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@39d32758"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz4s8f:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_4103262_*|*_5_*:*_1_*:*_0"}], "description": "Tested with puppet-agent stable 1.3.5.323.g52eaeaf\n\n * Install puppet-agent;configure pxp-agent.conf; and ensure the pxp-agent service is running\n * Restart Windows\n * On restart, check the service state\n\n*Expected:*\n * pxp-agent should run automatically, otherwise a reboot with cut the host off from PXP commands\n\n*Actual:*\n * The service is not running; it's configured as Manual start", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31907", "fixedVersions": [], "id": "31907", "issueType": "Bug", "key": "PCP-322", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Won't Fix", "resolutionDate": "2016-02-29T08:31:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Windows 2012 - pxp-agent service not running after host restart", "timeSpent": "PT0S", "updated": "2016-02-29T08:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "557058:e2510a0a-1767-444f-be52-bae9bb15d3f6", "created": "2016-02-26T15:15:00.000000", "name": "pcp_bug.tar.gz", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12364"}], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "I think PCP-612 is a duplicate of this ticket. The platform being named \"eXR\" is the only reason I'm not 100% certain.", "created": "2017-01-23T11:27:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Working this in PCP-612.", "created": "2017-01-31T11:29:00.000000"}], "components": [], "created": "2016-02-26T15:19:00.000000", "creator": "557058:e2510a0a-1767-444f-be52-bae9bb15d3f6", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1f7a9252"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3j3:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "18/Jan/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_29362193471_*|*_6_*:*_1_*:*_0"}], "description": "While setting up a small test configuration I noticed that I could not run puppet from the UI using the 'Run Puppet' button.  Looking closer at the Cisco node, I discovered that a connection to the Puppet master's port 8142 from the Cisco eXR pxp-agent was not established is on the Cisco Nexus pxp-agent.\n\neXR netstat:\n{code}\n[daiu9wne9xzqf62:/var/log/puppetlabs/pxp-agent]$ netstat -vatp\nActive Internet connections (servers and established)\nProto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name\ntcp        0      0 *:57777                 *:*                     LISTEN      13648/emsd\ntcp        0      0 *:57722                 *:*                     LISTEN      14539/sshd\ntcp        0      0 daiu9wne9xzqf62.d:64107 a0qm7u7v15sblir.d:61613 ESTABLISHED 21120/ruby\ntcp        0      0 daiu9wne9xzqf62.d:57722 10.0.16.89:64106        ESTABLISHED 24280/5\ntcp        0      0 daiu9wne9xzqf62.d:57777 10.32.123.228:38974     ESTABLISHED 13648/emsd\ntcp6       0      0 [::]:57722              [::]:*                  LISTEN      14539/sshd\n{code}\n\nNexus netstat:\n{code}\nLinux# source /etc/profile;sudo ip netns exec management netstat -vatp\nActive Internet connections (servers and established)\nProto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name\ntcp        0      0 t33qk02nq54fgee.d:18326 a0qm7u7v15sblir.d:61613 ESTABLISHED 21058/ruby\ntcp        0      0 t33qk02nq54fgee.d:18201 a0qm7u7v15sblir.de:8142 ESTABLISHED 20233/pxp-agent\n{code}\n\nI then looked at the logfile '/var/log/puppetlabs/pxp-agent/pxp-agent.log'. It had the following error messages:\n{code}\n2016-02-26 21:01:18.914314 INFO  puppetlabs.pxp_agent.main:173 - pxp-agent configuration has been validated\n2016-02-26 21:01:18.921800 INFO  puppetlabs.pxp_agent.util.daemonize:262 - Daemonization completed; pxp-agent PID=24811, PID lock file in '/var/run/puppetlabs/pxp-agent.pid'\n2016-02-26 21:01:18.922884 INFO  puppetlabs.cpp_pcp_client.client_metadata:106 - Retrieved common name from the certificate and determined the client URI: pcp://daiu9wne9xzqf62.delivery.puppetlabs.net/agent\n2016-02-26 21:01:18.925162 INFO  puppetlabs.pxp_agent.request_processor:396 - Loading external modules configuration from /etc/puppetlabs/pxp-agent/modules\n2016-02-26 21:01:18.925711 INFO  puppetlabs.pxp_agent.request_processor:436 - Loading external modules from /opt/puppetlabs/pxp-agent/modules\n2016-02-26 21:01:21.412085 WARN  puppetlabs.cpp_pcp_client.connection:327 - WebSocket on fail event (connection loss): status code 1006 - Underlying Transport Error\n2016-02-26 21:01:21.720856 WARN  puppetlabs.cpp_pcp_client.connection:191 - Failed to establish a WebSocket connection; retrying in 2 seconds\n2016-02-26 21:01:23.501798 WARN  puppetlabs.cpp_pcp_client.connection:327 - WebSocket on fail event (connection loss): status code 1006 - Underlying Transport Error\n2016-02-26 21:01:23.786854 WARN  puppetlabs.cpp_pcp_client.connection:191 - Failed to establish a WebSocket connection; retrying in 4 seconds\n2016-02-26 21:01:27.792594 WARN  puppetlabs.cpp_pcp_client.connection:327 - WebSocket on fail event (connection loss): status code 1006 - Underlying Transport Error\n2016-02-26 21:01:27.968778 WARN  puppetlabs.cpp_pcp_client.connection:191 - Failed to establish a WebSocket connection; retrying in 8 seconds\n2016-02-26 21:01:35.900707 WARN  puppetlabs.cpp_pcp_client.connection:327 - WebSocket on fail event (connection loss): status code 1006 - Underlying Transport Error\n2016-02-26 21:01:36.060344 WARN  puppetlabs.cpp_pcp_client.connection:191 - Failed to establish a WebSocket connection; retrying in 16 seconds\n2016-02-26 21:01:52.061928 WARN  puppetlabs.cpp_pcp_client.connection:327 - WebSocket on fail event (connection loss): status code 1006 - Underlying Transport Error\n2016-02-26 21:01:52.327956 WARN  puppetlabs.cpp_pcp_client.connection:191 - Failed to establish a WebSocket connection; retrying in 32 seconds\n2016-02-26 21:02:24.519956 WARN  puppetlabs.cpp_pcp_client.connection:327 - WebSocket on fail event (connection loss): status code 1006 - Underlying Transport Error\n2016-02-26 21:02:24.690742 WARN  puppetlabs.cpp_pcp_client.connection:191 - Failed to establish a WebSocket connection; retrying in 32 seconds\n2016-02-26 21:02:56.711830 WARN  puppetlabs.cpp_pcp_client.connection:327 - WebSocket on fail event (connection loss): status code 1006 - Underlying Transport Error\n2016-02-26 21:02:57.076070 WARN  puppetlabs.cpp_pcp_client.connection:191 - Failed to establish a WebSocket connection; retrying in 32 seconds\n2016-02-26 21:03:29.209116 WARN  puppetlabs.cpp_pcp_client.connection:327 - WebSocket on fail event (connection loss): status code 1006 - Underlying Transport Error\n2016-02-26 21:03:29.389692 WARN  puppetlabs.cpp_pcp_client.connection:191 - Failed to establish a WebSocket connection; retrying in 32 seconds\n2016-02-26 21:04:01.458312 WARN  puppetlabs.cpp_pcp_client.connection:327 - WebSocket on fail event (connection loss): status code 1006 - Underlying Transport Error\n2016-02-26 21:04:01.862153 WARN  puppetlabs.cpp_pcp_client.connection:191 - Failed to establish a WebSocket connection; retrying in 32 seconds\n2016-02-26 21:04:33.910811 WARN  puppetlabs.cpp_pcp_client.connection:327 - WebSocket on fail event (connection loss): status code 1006 - Underlying Transport Error\n2016-02-26 21:04:34.085531 WARN  puppetlabs.cpp_pcp_client.connection:191 - Failed to establish a WebSocket connection; retrying in 32 seconds\n2016-02-26 21:05:06.016891 WARN  puppetlabs.cpp_pcp_client.connection:327 - WebSocket on fail event (connection loss): status code 1006 - Underlying Transport Error\n2016-02-26 21:05:06.206090 WARN  puppetlabs.cpp_pcp_client.connection:191 - Failed to establish a WebSocket connection; retrying in 32 seconds\n{code}\n\nTo setup this environment:\n1. Untar the attached file pcp_bug.tar.gz\n2. Install the unreleased beaker 2.36.0 gem (gem install ./beaker-2.36.0.gem)\n3. Run beaker using the following parameters:\n{code}\nbeaker --color --debug -h pcp_bug.cfg -t setup_pa-pm.rb --preserve-hosts onppass\n{code}", "environment": "PE 2016.1 CentOS 7 x86_64 Puppet Master\nCisco eXR Puppet Agent 1.3.5 ", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31578", "fixedVersions": [], "id": "31578", "issueType": "Bug", "key": "PCP-320", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:e2510a0a-1767-444f-be52-bae9bb15d3f6", "resolution": "Duplicate", "resolutionDate": "2017-01-31T11:29:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Cisco eXR platform cpp_pcp_client unable to open WebSocket", "timeSpent": "PT0S", "updated": "2017-01-31T11:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "INVALID - pxp-agent service is not meant to be enabled/automatic on install", "created": "2016-02-29T08:31:00.000000"}], "components": ["pxp-agent package"], "created": "2016-02-26T10:37:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@10faaab1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz4r8v:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_251595374_*|*_5_*:*_1_*:*_0"}], "description": "*To reproduce:*\n * On an EL7 host, install puppet-agent and ensure pxp-agent is running with valid config\n * Run _systemctl status pxp-agent_ to confirm service is running\n * _reboot_ then ssh back into the host when it is up again\n * Run _systemctl status pxp-agent_ again\n\n*Expected:*\n * pxp-agent running after reboot\n\n*Actual:*\n{code}[root@pwgkpnlpidqzd6e ~]# service pxp-agent status\nRedirecting to /bin/systemctl status  pxp-agent.service\npxp-agent.service - PCP Execution Protocol (PXP) Agent\n   Loaded: loaded (/usr/lib/systemd/system/pxp-agent.service; disabled)\n   Active: active (running) since Fri 2016-02-26 08:40:42 PST; 27s ago\n Main PID: 1985 (pxp-agent)\n   CGroup: /system.slice/pxp-agent.service\n           \u2514\u25001985 /opt/puppetlabs/puppet/bin/pxp-agent --foreground\n\nFeb 26 08:40:42 pwgkpnlpidqzd6e systemd[1]: Starting PCP Execution Protocol (PXP) Agent...\nFeb 26 08:40:42 pwgkpnlpidqzd6e systemd[1]: Started PCP Execution Protocol (PXP) Agent.\n[root@pwgkpnlpidqzd6e ~]# reboot\nConnection to pwgkpnlpidqzd6e.delivery.puppetlabs.net closed by remote host.\nConnection to pwgkpnlpidqzd6e.delivery.puppetlabs.net closed.\nJamess-MacBook-Pro:~ jstocks$\nJamess-MacBook-Pro:~ jstocks$\nJamess-MacBook-Pro:~ jstocks$ ssh root@pwgkpnlpidqzd6e.delivery.puppetlabs.net\nLast login: Fri Feb 26 08:40:09 2016 from 10.32.128.65\n[root@pwgkpnlpidqzd6e ~]# service pxp-agent status\nRedirecting to /bin/systemctl status  pxp-agent.service\npxp-agent.service - PCP Execution Protocol (PXP) Agent\n   Loaded: loaded (/usr/lib/systemd/system/pxp-agent.service; disabled)\n   Active: inactive (dead){code}\n\nRunning _systemctl enable pxp-agent_ fixes this", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31601", "fixedVersions": [], "id": "31601", "issueType": "Bug", "key": "PCP-319", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Won't Fix", "resolutionDate": "2016-02-29T08:31:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "systemd - pxp-agent service not running after host reboot", "timeSpent": "PT0S", "updated": "2016-02-29T08:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "body": "[~accountid:557058:29f801b5-e0f5-4278-a19b-0e5101f2094d] Does this ticket need the docs information filled in?", "created": "2016-03-11T10:06:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "[~accountid:557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c] I'll add for both this and PCP-321.", "created": "2016-03-11T10:36:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c] can this be resolved now that the docs information has been filled in?", "created": "2016-03-11T13:42:00.000000"}, {"author": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "body": "[~accountid:557058:3da95088-202d-4082-a15a-eb2e812f2578]I think so, but I want to double check with [~accountid:557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b] since this ticket was weird due to the multiple fixVersions and almost simultaneous releases. If he says yep (which I expect based on the comment above), then I will close it.", "created": "2016-03-11T13:54:00.000000"}], "components": ["cpp-pcp-client"], "created": "2016-02-26T06:43:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@71975931"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Highest Test Level", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Acceptance"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Medium"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "High"}, {"fieldName": "QA Risk Severity Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Security exploit"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3lz:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Security Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Previously, the cpp-pcp-client library was not verifying the broker SSL certificate during the TLS initialization phase of the WebSocket connection. It now does, by ensuring that the broker certificate was signed by the specified CA and that the identity contained in the broker certificate matches the common name of the configured broker WebSocket URI."}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Security bug"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "5.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "07/Mar/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_14857510_*|*_10007_*:*_1_*:*_94592144_*|*_3_*:*_1_*:*_329498577_*|*_10009_*:*_1_*:*_344140515_*|*_5_*:*_1_*:*_37160700_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_697795117"}], "description": "Enforce that the broker's cert is valid by checking the CA and validate its identity. ", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31600", "fixedVersions": ["cpp-pcp-client 1.0.4", "cpp-pcp-client 1.1.1"], "id": "31600", "issueType": "Bug", "key": "PCP-318", "labels": ["burnside-ss"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Blocker", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-03-14T11:05:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "cpp-pcp-client should verify the broker identity", "timeSpent": "PT0S", "updated": "2018-04-03T12:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "created": "2016-02-24T16:10:00.000000", "name": "Screen Shot 2016-02-24 at 2.37.37 PM.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12304"}, {"attacher": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "created": "2016-02-24T16:15:00.000000", "name": "Screen Shot 2016-02-24 at 3.14.36 PM.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12297"}, {"attacher": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "created": "2016-02-24T16:09:00.000000", "name": "classes.txt", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12334"}, {"attacher": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "created": "2016-02-24T16:09:00.000000", "name": "last_run_report.yaml", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12323"}, {"attacher": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "created": "2016-02-24T16:09:00.000000", "name": "last_run_summary.yaml", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12351"}, {"attacher": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "created": "2016-02-24T16:09:00.000000", "name": "resources.txt", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12339"}, {"attacher": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "created": "2016-02-24T16:09:00.000000", "name": "state.yaml", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12314"}], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I believe this is an issue with the ACL module, because Puppet::Type::Acl::Ace [extends Hash directly|https://github.com/puppetlabs/puppetlabs-acl/blob/master/lib/puppet/type/acl/ace.rb#L9]. So when {{Puppet::Transaction::Event}} is serialized in the report, we serialize the {{desired_value}} and {{previous_value}}, and I'm guessing YAML will attempt to serialize the {{Ace}} directly instead of serializing its {{to_s}} value.", "created": "2016-02-24T22:21:00.000000"}, {"author": "557058:d9266b08-990a-449f-97ff-f9a0910c2a58", "body": "If it were up to me, I'd prefer we didn't extend hash directly. However to do that we'd have to fix Puppet's formatter and allow it to be overridden by type. We went to Hash after a long discussion and I even did a monkey patching spike to see what it would entail to make the formatter work appropriately. Some of that discussion is at PUP-1893. Since it is unlikely that we can move away from Hash, there needs to be some option to make this work appropriately with the YAML serialization.", "created": "2016-02-25T20:03:00.000000"}, {"author": "557058:d9266b08-990a-449f-97ff-f9a0910c2a58", "body": "A quick search turns up the option of overriding {{to_yaml}} - http://stackoverflow.com/q/7377600/18475", "created": "2016-02-25T20:20:00.000000"}, {"author": "557058:d9266b08-990a-449f-97ff-f9a0910c2a58", "body": "[~accountid:557058:263afade-3e4f-46c6-b50a-cf2982192562] and I discussed this is likely a two part fix\n\n* Fix the console so that it doesn't error when there are issues with deserialization. We can't control all 3rd party modules and this may come back up later if it isn't addressed.\n* Make fixes to the ACL module so that the output is useful.", "created": "2016-02-25T20:37:00.000000"}, {"author": "557058:aac99372-b90d-49df-b809-9e08b5306603", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] In looking into the error response for this, https://github.com/puppetlabs/pxp-agent/blob/2f42bf2a01eff61027a7faa8eb7f7fc1467cdb5a/modules/pxp-module-puppet#L116\nI think the change would need to happen in the pxp-agent code.\n\nI don't believe that this is something we (Node Management) can fix alone at the Run Puppet UI/error level.  Ideally, I guess that load error would be more meaningful?\n\nIs this ticket considered resolved if the error output was changed? \nAnd if so what should that be? To be more meaningful?\n\nAlso unclear as to who would fix the ACL module (and how) and should there be a separate ticket spun off from this one? For the forge team?", "created": "2016-07-06T14:25:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Yes, this isn't something to be fixed in the console but in pxp-module-puppet. We've previously discussed loading Puppet in pxp-module-puppet and running it in the same interpreter in PCP-285", "created": "2016-07-06T14:58:00.000000"}, {"author": "557058:aac99372-b90d-49df-b809-9e08b5306603", "body": "Thanks [~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] I changed the SCRUM team to PCP, and hopefully you all can determine if this is addressed in the other ticket, or what needs to happen there.", "created": "2016-07-06T16:10:00.000000"}, {"author": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "body": "[~accountid:557058:263afade-3e4f-46c6-b50a-cf2982192562][~accountid:557058:aac99372-b90d-49df-b809-9e08b5306603] Would you have any issue with me moving this ticket to the PCP project so I can assign versions, etc for the pxp-agent?", "created": "2016-07-20T09:44:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "FWIW, here is what I do when I need to load YAML data without having to define all the ruby classes present in the data:\n{code:ruby}\n  # parse the YAML data, creating a tree structure representation of the data\n  data = YAML::parse_file(f)\n\n  # walk the tree and drop type tags to be able to convert the tree structure\n  # into primitive ruby types\n  data.root.each do |o|\n    o.tag = nil if o.respond_to?(:tag=)\n  end\n\n  # finally convert the tree structure into the primitive ruby types\n  data = data.to_ruby\n{code}", "created": "2016-07-20T10:03:00.000000"}, {"author": "557058:aac99372-b90d-49df-b809-9e08b5306603", "body": "[~accountid:557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c] No that makes total sense. Thank you.", "created": "2016-08-04T17:42:00.000000"}, {"author": "70121:7b50b988-18ad-4913-8df5-c67397870b32", "body": "[~accountid:557058:093475a3-6bc8-4a70-8034-ae5a2ea66512] so we hit this for PUP-6629 also for this very same module. We've had success using this stripping methodology here: https://github.com/puppetlabs/puppet/pull/5214/files#diff-a5348c3071a6b3d7b77bf0ed94147edfR12. Still pondering if its the right thing to do in our case.", "created": "2016-08-18T11:41:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "If you don't need to parse the entries that use Ruby objects, you're ok. Otherwise you might need to be more targeted.\n\nI'm also trying to move to directly running Puppet in-process, and avoiding the whole problem, in https://github.com/puppetlabs/pxp-agent/pull/472.", "created": "2016-08-18T11:55:00.000000"}], "components": [], "created": "2016-02-24T16:16:00.000000", "creator": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@57123443"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Console Browser", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Chrome"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Master Config", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Monolithic"}, {"fieldName": "Master OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "CentOS 6"}, {"fieldName": "QA Highest Test Level", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Unit"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz35zr:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "pxp-module-puppet will now successfully check status of Puppet runs containing resource types that serialize Ruby objects to the report (such as acl)."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Feb/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_222280114_*|*_1_*:*_1_*:*_7861875391_*|*_10007_*:*_1_*:*_71088532_*|*_3_*:*_1_*:*_105346960_*|*_10009_*:*_1_*:*_69868743_*|*_5_*:*_1_*:*_1209407474_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_122769083_*|*_10006_*:*_1_*:*_3620083881_*|*_10005_*:*_1_*:*_2412971004"}], "description": "Given a Windows agent that uses the ACL module, successfully applying a small manifest with a single ACL resource via the 'Run Puppet' once button will cause an error in the UI.\n\nThe manifest in this instance has a single ACL resource that is being set that looks like this (taken out of the context of a larger manifest):\n\n{code}\nacl { \"${app_location}/App_Data\":\n    permissions =>\n    [\n      { identity => \"IIS APPPOOL\\\\${app_pool}\", rights => ['full'] },\n      { identity => 'IIS_IUSRS', rights => ['full'] },\n    ],\n    require => Iis::Manage_app_pool[\"$app_pool\"],\n  }\n{code}\n\n\nAfter talking to [~accountid:63d40628f6e1b543161789a7] it appears that this problem could be related to PUP-5341, where incorrect data is serialized into {{last_run_report.yaml}}, that is then unable to be parsed in a different environment that doesn't include all of the corresponding Ruby types.\n\nFor instance, {{last_run_report.yaml}} contains the following:\n\n{noformat}\nAcl[C:\\inetpub\\wwwroot\\razorC/App_Data]: !ruby/object:Puppet::Resource::Status\n    resource: Acl[C:\\inetpub\\wwwroot\\razorC/App_Data]\n    file: \"/etc/puppetlabs/code/environments/production/modules/windemo/manifests/mvcapp.pp\"\n    line: 66\n    evaluation_time: 0.0\n    change_count: 1\n    out_of_sync_count: 1\n    tags: !ruby/object:Puppet::Util::TagSet\n      hash:\n        acl: true\n        class: true\n        windemo::mvcapp: true\n        windemo: true\n        mvcapp: true\n    time: 2016-02-24 23:07:39.570586000 +00:00\n    events:\n    - !ruby/object:Puppet::Transaction::Event\n      audited: false\n      property: permissions\n      previous_value:\n      - !ruby/hash:Puppet::Type::Acl::Ace {}\n      - !ruby/hash:Puppet::Type::Acl::Ace {}\n      - !ruby/hash:Puppet::Type::Acl::Ace {}\n      - !ruby/hash:Puppet::Type::Acl::Ace {}\n      desired_value:\n      - !ruby/hash:Puppet::Type::Acl::Ace {}\n      - !ruby/hash:Puppet::Type::Acl::Ace {}\n      historical_value: \n      message: \"permissions changed [\\n] to [\\n { identity => 'IIS APPPOOL\\\\mvc',\n        rights => [\\\"full\\\"] }, \\n { identity => 'BUILTIN\\\\IIS_IUSRS', rights => [\\\"full\\\"]\n        }\\n]\"\n      name: :permissions_changed\n      status: success\n      time: 2016-02-24 23:07:39.570586000 +00:00\n    out_of_sync: true\n    changed: true\n    resource_type: Acl\n    title: C:\\inetpub\\wwwroot\\razorC/App_Data\n    skipped: false\n    failed: false\n    containment_path:\n    - Stage[main]\n    - Windemo::Mvcapp\n    - Acl[C:\\inetpub\\wwwroot\\razorC/App_Data]\n{noformat}\n\nI have attached all the data from {{C:\\ProgramData\\PuppetLabs\\puppet\\cache\\state}}, including all serialized YAML files.  \n\nThe error message is displayed like:\n\n!Screen Shot 2016-02-24 at 2.37.37 PM.png|thumbnail!\n\n\nWhen the YAML above is deserialized, it also provides a fairly meaningless change notification in the console:\n\n!Screen Shot 2016-02-24 at 3.14.36 PM.png|thumbnail!\n\n\nI believe there should be enough information in the ticket to resolve this issue, but if not, I can trivially reproduce the problem.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32040", "fixedVersions": ["pxp-agent 1.2.1"], "id": "32040", "issueType": "Bug", "key": "PCP-542", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "resolution": "Fixed", "resolutionDate": "2016-08-10T09:14:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Console displays error about last_run_report.yaml could not be loaded with undefined class/module, after successfully applying a Puppet manifest", "timeSpent": "PT0S", "updated": "2022-03-23T09:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "created": "2016-02-24T16:07:00.000000", "name": "pxp-agent.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12287"}], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "[~accountid:557058:720f602d-ed4c-4553-a2cf-8e7dc40c0739] any news on this?", "created": "2016-03-02T05:40:00.000000"}, {"author": "557058:720f602d-ed4c-4553-a2cf-8e7dc40c0739", "body": "[~accountid:557058:29f801b5-e0f5-4278-a19b-0e5101f2094d], I think you were spot on when suggested that this was caused by the agent not being upgraded cleanly.  I'm investigating that presently.  ", "created": "2016-03-02T12:12:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Thanks [~accountid:557058:720f602d-ed4c-4553-a2cf-8e7dc40c0739].\nI'll leave this open and follow PE-14320 progress.", "created": "2016-03-03T10:29:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Closing as the reported behaviour was due to a mismatch between pxp-agent and pxp-module-puppet (see PE-14320 and RE-6739).", "created": "2016-03-14T11:25:00.000000"}], "components": ["pxp-agent"], "created": "2016-02-24T16:07:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6e994c99"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3s7:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Mar/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1621026795_*|*_6_*:*_2_*:*_89647"}], "description": "Relates to PCP-315.\nWe should investigate why, on Solaris, ended up passing bad arguments to pxp-module-puppet via stdin. From PCP-315, it appears that the \"input\" entry was missing.\n\nLogs are attached.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32130", "fixedVersions": [], "id": "32130", "issueType": "Bug", "key": "PCP-316", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Cannot Reproduce", "resolutionDate": "2016-03-14T11:26:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent on Solaris passes bad input arguments to pxp-module-puppet", "timeSpent": "PT0S", "updated": "2016-03-14T11:26:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "557058:720f602d-ed4c-4553-a2cf-8e7dc40c0739", "created": "2016-02-24T14:53:00.000000", "name": "pxp-agent.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12333"}], "comments": [{"author": "557058:720f602d-ed4c-4553-a2cf-8e7dc40c0739", "body": "the attached pxp-agent.log excerpt was captured with logging set to trace while reproducing the issue by running 'puppet job run'", "created": "2016-02-24T14:55:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Tested in 1.3.5.296.ga863d7e\n\n*Working case:*\n{code}[root@qr7wl56qdf8viwh modules]# echo \"{\\\"input\\\":{\\\"env\\\":[],\\\"flags\\\":[\\\"--noop\\\"]}, \\\"configuration\\\" : {\\\"puppet_bin\\\" : \\\"/opt/puppetlabs/bin/puppet\\\"}}\" | ./pxp-module-puppet run\n{\"kind\":\"unknown\",\"time\":\"unknown\",\"transaction_uuid\":\"unknown\",\"environment\":\"unknown\",\"status\":\"unknown\",\"exitcode\":1,\"version\":1,\"error_type\":\"agent_exit_non_zero\",\"error\":\"Puppet agent exited with a non 0 exitcode\"}{code}\n\n*Missing schema-required JSON entry:*\n{code}[root@qr7wl56qdf8viwh modules]# echo \"{\\\"configuration\\\" : {\\\"puppet_bin\\\" : \\\"/opt/puppetlabs/bin/puppet\\\"}}\" | ./pxp-module-puppet run\n{\"kind\":\"unknown\",\"time\":\"unknown\",\"transaction_uuid\":\"unknown\",\"environment\":\"unknown\",\"status\":\"unknown\",\"exitcode\":-1,\"version\":1,\"error_type\":\"invalid_json\",\"error\":\"The json received on STDIN did not contain a valid 'input' key: {\\\"configuration\\\"=>{\\\"puppet_bin\\\"=>\\\"/opt/puppetlabs/bin/puppet\\\"}}\"}{code}\n\n*Outright invalid JSON:*\n{code}[root@qr7wl56qdf8viwh modules]# echo \"{\\\"configuration\\\" : {\\\"puppet_bin\\\" : \\\"/opt/puppetlabs/bin/puppet\\\"}\" | ./pxp-module-puppet run\n{\"kind\":\"unknown\",\"time\":\"unknown\",\"transaction_uuid\":\"unknown\",\"environment\":\"unknown\",\"status\":\"unknown\",\"exitcode\":-1,\"version\":1,\"error_type\":\"invalid_json\",\"error\":\"Invalid json received on STDIN: {\\\"configuration\\\" : {\\\"puppet_bin\\\" : \\\"/opt/puppetlabs/bin/puppet\\\"}\"}{code}", "created": "2016-02-25T11:12:00.000000"}], "components": ["pxp-agent"], "created": "2016-02-24T14:51:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@27ae2add"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Medium"}, {"fieldName": "QA Risk Probability Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Occurred in PE-14320 - so has already occurred once"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Medium"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz4pv3:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Must improve pxp-module-puppet for Burnside."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "24/Feb/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_3069260_*|*_1_*:*_1_*:*_12845_*|*_10007_*:*_1_*:*_58543811_*|*_3_*:*_1_*:*_5849834_*|*_5_*:*_1_*:*_1813248071_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_5810893"}], "description": "In case bad JSON is passed via stdin (no\"input\" entry), pxp-module-puppet does not return anything on stdout.\n\nNote that ExternalModule enforces the modules' interface schema, in ExternalModule::getActionArguments(); the \"input\" entry is hardcoded. The arguments are then passed to pxp-module-puppet via stdin, thanks to leatherman's execution.\n\nBug reported by [~accountid:557058:720f602d-ed4c-4553-a2cf-8e7dc40c0739] while dealing with PE-14320; \non:\n\n{code}\n-bash-3.2# uname -a\nSunOS ... 5.10 Generic_147148-26 i86pc i386 i86pc\n{code}\n\nthis is what pxp-agent logged (repeatedly) at INFO level\n\n{code:json}\n\n2016-02-24 12:47:07.697306 INFO  puppetlabs.pxp_agent.request_processor:259 - Processing non blocking request 9ffdd730-dfc5-4df6-860b-68dffe63d41c by pcp://pe-internal-orchestrator/orchestrator, transaction 8d4c12dc-aa83-4af7-ac4e-1bbb5bceb595\n2016-02-24 12:47:07.698233 INFO  puppetlabs.pxp_agent.external_module:327 - Starting 'pxp-module-puppet run' non-blocking task (stdout and stderr will be stored in /opt/puppetlabs/pxp-agent/spool/8d4c12dc-aa83-4af7-ac4e-1bbb5bceb595), transaction id 8d4c12dc-aa83-4af7-ac4e-1bbb5bceb595\n2016-02-24 12:47:07.698397 INFO  puppetlabs.pxp_agent.pxp_connector:145 - Sent provisional response for request 9ffdd730-dfc5-4df6-860b-68dffe63d41c by pcp://pe-internal-orchestrator/orchestrator, transaction 8d4c12dc-aa83-4af7-ac4e-1bbb5bceb595\n2016-02-24 12:47:08.575179 ERROR puppetlabs.pxp_agent.external_module:267 - 'pxp-module-puppet run' failure, returned 1; error: /opt/puppetlabs/pxp-agent/modules/pxp-module-puppet:236:in `get_action_input': undefined method `[]' for nil:NilClass (NoMethodError)\n\n        from /opt/puppetlabs/pxp-agent/modules/pxp-module-puppet:281:in `action_run'\n        from /opt/puppetlabs/pxp-agent/modules/pxp-module-puppet:294:in `<main>'\n\n\n\n2016-02-24 12:47:08.575315 ERROR puppetlabs.pxp_agent.external_module:282 - 'pxp-module-puppet run' output is not valid JSON: invalid json\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31599", "fixedVersions": ["pxp-agent 1.1.0"], "id": "31599", "issueType": "Bug", "key": "PCP-315", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-02-25T11:12:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-module-puppet should error in case of bad JSON in stdin", "timeSpent": "PT0S", "updated": "2016-03-17T11:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [], "components": ["clj-pxp-puppet"], "created": "2016-02-24T03:52:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@849c674"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3nb:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_49441_*|*_10007_*:*_1_*:*_58714025_*|*_3_*:*_1_*:*_223244810_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_254332146_*|*_10006_*:*_1_*:*_1724704055"}], "description": "Add new integration tests to cover the changes introduced with PCP-271.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31876", "fixedVersions": [], "id": "31876", "issueType": "Improvement", "key": "PCP-313", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-03-21T08:56:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Create new integration tests for clj-pxp-puppet", "timeSpent": "PT0S", "updated": "2016-03-21T08:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Being handled in PCP-645, PCP-652.", "created": "2016-12-09T15:23:00.000000"}], "components": [], "created": "2016-02-24T03:19:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5646ac6b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-399"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3jz:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Dec/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_14115667033_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_10897348452"}], "description": "After updating the specs, PCP-256, update components to use the renamed envelope field.\nNote that such change will break compatibility against older versions.", "epicLinkSummary": "PCP Version 2 Protocol", "estimate": "PT0S", "externalId": "31793", "fixedVersions": [], "id": "31793", "issueType": "Task", "key": "PCP-312", "labels": [], "originalEstimate": "PT0S", "parent": "31882", "parentSummary": "PCP Version 2 Protocol", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Duplicate", "resolutionDate": "2016-12-09T15:23:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Replace in-reply-to to in_reply_to PCP in components", "timeSpent": "PT0S", "updated": "2016-12-09T15:23:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Re-tested with puppet-agent stable 1.4.0.52.g9af5a75 and the pxp-agent acceptance tests at stable/33b2425\n\nRan tests both on my laptop and via the PDX shell box", "created": "2016-04-01T03:49:00.000000"}], "components": ["pxp-agent", "QA"], "created": "2016-02-19T08:50:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@409ab183"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3nr:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Opportunity"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3534848289_*|*_3_*:*_1_*:*_72294624_*|*_5_*:*_1_*:*_0"}], "description": "https://jenkins-staging.delivery.puppetlabs.net/job/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL=beaker,TEST_TARGET=cumulus-22-x86_64/14/console\n\n{code}Begin tests/pxp-module-puppet/run_puppet.rb\n\nC95972 - pxp-module-puppet run\n  \n  * Ensure each agent host has pxp-agent running and associated\n    localhost $ scp ../test-resources/ssl cumulus-22-x86_64:/tmp/test-ssl.I7wlAp {:ignore => }\n    localhost $ scp /tmp/beaker20160219-4920-ausodr cumulus-22-x86_64:/etc/puppetlabs/pxp-agent/pxp-agent.conf {:ignore => }\n  \n  * Send an rpc_blocking_request to all agents\n    RuntimeError: Exception occurred when trying to run Puppet on all agents: Didn't receive all PCP responses when requesting pxp-module-puppet run on [\"pcp://client01.example.com/agent\"]. Responses received were: {}\n    /var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/cumulus-22-x86_64/puppet-agent/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet.rb:30\n    /var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/cumulus-22-x86_64/puppet-agent/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet.rb:22\n    /var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/cumulus-22-x86_64/puppet-agent/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet.rb:16\n    /var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/cumulus-22-x86_64/puppet-agent/pxp-agent/acceptance/tests/pxp-module-puppet/run_puppet.rb:3\n    /var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/cumulus-22-x86_64/puppet-agent/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.34.0/bin/beaker:6\n    Begin teardown\n    End teardown\n    Warning: tests/pxp-module-puppet/run_puppet.rb errored in 77.53 seconds\n      Test Suite: tests @ 2016-02-19 07:30:28 -0800\n\n      - Host Configuration Summary -\n\n\n              - Test Case Summary for suite 'tests' -\n       Total Suite Time: 330.52 seconds\n      Average Test Time: 41.32 seconds\n              Attempted: 8\n                 Passed: 7\n                 Failed: 0\n                Errored: 1\n                Skipped: 0\n                Pending: 0\n                  Total: 8\n\n      - Specific Test Case Status -\n        \nFailed Tests Cases:\nErrored Tests Cases:\n      Test Case tests/pxp-module-puppet/run_puppet.rb reported: #<RuntimeError: Exception occurred when trying to run Puppet on all agents: Didn't receive all PCP responses when requesting pxp-module-puppet run on [\"pcp://client01.example.com/agent\"]. Responses received were: {}>\nSkipped Tests Cases:\nPending Tests Cases:{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31576", "fixedVersions": [], "id": "31576", "issueType": "Bug", "key": "PCP-310", "labels": ["pxp_puppet-agent_ci"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Cannot Reproduce", "resolutionDate": "2016-04-01T03:49:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent acceptance - cumulus-22 - run_puppet.rb test fails", "timeSpent": "PT0S", "updated": "2016-04-01T03:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "This ticket is invalid - on a re-test, the errors reported do not occur", "created": "2016-04-01T10:49:00.000000"}], "components": ["pxp-agent", "QA"], "created": "2016-02-19T07:56:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@58feb6c9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3o7:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Opportunity"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3630346335_*|*_3_*:*_1_*:*_5241351_*|*_5_*:*_1_*:*_0"}], "description": "pxp-agent acceptance works on aix-53 and aix-71 but on aix-61 it fails during setup/common.000-delete-puppet-when-none.rb\n\nhttps://jenkins-staging.delivery.puppetlabs.net/job/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/13/SLAVE_LABEL=beaker,TEST_TARGET=aix-61-power/testReport/junit/(root)/setup_common/000_delete_puppet_when_none_rb/\n\n{code}Host 'pe-aix-61-acceptance' exited with 2 running:\n find / -name \"*puppet*\" -print | xargs rm -rf\nLast 10 lines of output were:\n\trm: 0653-602 Cannot read /srv/aix/pe-aix-71-builder/packaging/solaris/licenses/puppet-enterprise-release.\n\trm: 0653-602 Cannot read /srv/aix/pe-aix-71-builder/packaging/solaris/extras/puppet.\n\trm: 0653-602 Cannot read /srv/aix/pe-aix-71-builder/packaging/osx/plugin-src/puppet-enterprise-installer-plugin.\n\trm: 0653-602 Cannot read /srv/aix/pe-aix-71-builder/packaging/osx/plugin-src/puppet-enterprise-installer-plugin.xcodeproj.\n\trm: 0653-602 Cannot read /srv/aix/pe-aix-71-builder/packaging/osx/metadata/plugins/puppet-enterprise-installer-plugin.bundle.\n\trm: 0653-602 Cannot read /srv/aix/pe-aix-71-builder/packaging/osx/scripts/puppet.\n\trm: 0653-602 Cannot read /srv/aix/pe-aix-71-builder/packaging/osx/licenses/puppet.\n\trm: 0653-602 Cannot read /srv/aix/pe-aix-71-builder/packaging/osx/licenses/puppet-enterprise.\n\trm: 0653-602 Cannot read /srv/aix/pe-aix-71-builder/packaging/osx/licenses/puppet-enterprise-release.\n\trm: 0653-602 Cannot read /srv/aix/pe-aix-71-builder/packaging/osx/extras/puppet.{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32222", "fixedVersions": [], "id": "32222", "issueType": "Bug", "key": "PCP-309", "labels": ["pxp_puppet-agent_ci"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Cannot Reproduce", "resolutionDate": "2016-04-01T10:49:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent acceptance pre-suite fails on aix-61-power", "timeSpent": "PT0S", "updated": "2016-04-01T10:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "Current public documentation on smf seems hard to find.   \n\nhttps://blogs.oracle.com/lianep/entry/how_does_kill_work and liberal use of archive.org gets us to:   https://web.archive.org/web/20090226233501/http://www.sun.com/bigadmin/content/selfheal/sdev_intro.jsp which says in its section \"4. Identify how your service is started/stopped.\":\n\n{quote}\n{{:kill}} kills all processes started by your service's start method. The list of all processes is determined by the service's contract.\n{quote}\n\nAssuming that the used service contract is similar to systemd's 'process and all children' this would point to either\n\n* Stop using :kill in preference for a more specific way of stopping the service.\n* Find some way to influence the service contract so smf only considers the initial pxp-agent to be part of the processes for the service", "created": "2016-02-19T07:55:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Also affects solaris-11-sparc", "created": "2016-02-19T08:01:00.000000"}, {"author": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "body": "Ping [~accountid:557058:3bbf1c83-df0e-4372-887d-cfc38dee9330] or [~accountid:557058:ab1874a9-45ab-4efc-91aa-5200c165b2c4] for possible insight into how to address this in SMF.", "created": "2016-02-22T11:15:00.000000"}, {"author": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "body": "I think this may be somewhat similar to PUP-2455 ([PR|https://github.com/puppetlabs/puppet/pull/3790]). In that scenario, we updated Puppet to use the Solaris {{ctrun}} facility to ensure services started by Puppet run in their own SMF contracts. Maybe we could use a similar strategy here?", "created": "2016-02-24T21:35:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Tested with 1.3.5.415.g1161d17 on\nsolaris10-64a\nsolaris11-64a\nsolaris10-sparc\nsolaris11-sparc\n\nUsed acceptance code from the PCP-230 ticket to test restarting pxp-agent service while a pxp-module-puppet run of puppet agent is in progress", "created": "2016-03-14T11:18:00.000000"}], "components": [], "created": "2016-02-19T05:04:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@59b6a9c5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Highest Test Level", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Acceptance"}, {"fieldName": "QA Highest Test Level Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "PCP-230 will add an acceptance test for this"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Medium"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Medium"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3mn:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "In puppet-agent 1.3.6 and earlier; if using pxp-agent's pxp-module-puppet to run puppet agent on a Solaris host; and the puppet catalog of that run led to a refresh of the pxp-agent service on that host; the restart of the pxp-agent service would immediately terminate the puppet agent run. Additional to an incomplete puppet run; pxp-agent would be unable to subsequently report the status of that puppet run.\nThis is now fixed: the puppet run will complete; and the result of the puppet run can subsequently be queried by pxp-agent."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "19/Feb/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_4203056_*|*_1_*:*_1_*:*_281347630_*|*_10007_*:*_2_*:*_239045553_*|*_3_*:*_1_*:*_115310533_*|*_10009_*:*_1_*:*_769599417_*|*_5_*:*_1_*:*_3107927251_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_257446917_*|*_10006_*:*_1_*:*_1194865267"}], "description": "*Background:*\n * See PCP-207 . pxp-agent needs to be able to make non-blocking calls to run puppet agent, and should be able to later report on the results of that puppet agent run even if the pxp-agent service was restarted during the puppet agent run\n\n*Reproduction (of PXP use case):*\n * On a Solaris 10 vmpooler host, create a puppet environment that will take some time to complete e.g. includes an Exec resource that calls sleep for several minutes. I'm using:\n{code}class sleep {\n  case $::osfamily {\n    'windows': { exec { 'sleep':\n                        command => 'true',\n                        unless  => 'sleep 500', #PUP-5806\n                        path    => 'C:\\\\cygwin64\\\\bin',} }\n    default:   { exec { 'sleep': command => '/bin/sleep 500 || /bin/true', } }\n  }\n}{code}\n * Trigger a puppet run on the agent using PXP's rpc_non_blocking_request\n ** Note that running puppet agent at terminal will not reproduce this issue\n ** The options I'm using are --server \\[server\\] --onetime --no-daemonize --environment sleep\n * Puppet should now be running but stuck on the sleep exec\n * Restart the pxp-agent service\n\n*Expected behaviour:*\n * Puppet agent (and the sleep process that puppet agent is waiting on) should still be running; and should appear as running processes on the host until either the sleep duration completes, or sleep receives SIGALARM\n\n*Actual behaviour:*\nStopping the pxp-agent service appears to immediately kill puppet agent.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31792", "fixedVersions": ["pxp-agent 1.1.3"], "id": "31792", "issueType": "Bug", "key": "PCP-308", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-03-23T09:01:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Solaris SMF: non-blocking PXP tasks are terminated when pxp-agent service restarts", "timeSpent": "PT0S", "updated": "2016-05-18T10:17:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "'maintenance' is a valid status in Solaris and usually means that the service is in a bad state\n\nConfirm this is the expected service status at this point in the test, and if so then just need to make the test accept \\['stopped', 'maintenance'\\]", "created": "2016-02-19T10:20:00.000000"}, {"author": "557058:5f73e620-a5f5-44a8-a863-f1e0061b987a", "body": "Not the same failure. Sorry.", "created": "2016-12-13T17:33:00.000000"}], "components": ["pxp-agent", "QA"], "created": "2016-02-19T04:31:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@31d5056e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hynhd3:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Dec/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_583231249_*|*_1_*:*_1_*:*_4075618450_*|*_10007_*:*_1_*:*_18371511_*|*_3_*:*_1_*:*_5810104_*|*_4_*:*_2_*:*_136885_*|*_5_*:*_1_*:*_21047436919_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_3177_*|*_10006_*:*_1_*:*_63554496"}], "description": "See https://jenkins-staging.delivery.puppetlabs.net/job/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/9/SLAVE_LABEL=beaker,TEST_TARGET=solaris10-64a/console\n\n*stdout:*\n{code}Begin tests/invalid_ssl_config.rb\n\nAttempt to start pxp-agent with invalid SSL config\nlocalhost $ scp ../test-resources/ssl solaris10-64-1:/tmp/test-ssl.KIaWMb {:ignore => }\n\n* Setup - Stop pxp-agent service\n\n* Setup - Wipe pxp-agent log\n\n* Setup - Change pxp-agent config to use a cert that doesn't match private key\n  localhost $ scp /tmp/beaker20160218-8890-qv4grz solaris10-64-1:/etc/puppetlabs/pxp-agent/pxp-agent.conf {:ignore => }\n\n* C94730 - Attempt to run pxp-agent with mismatching SSL cert and private key\n  Begin teardown\n  localhost $ scp ../test-resources/ssl solaris10-64-1:/tmp/test-ssl.wgaaRb {:ignore => }\n  localhost $ scp /tmp/beaker20160218-8890-7gyshc solaris10-64-1:/etc/puppetlabs/pxp-agent/pxp-agent.conf {:ignore => }\n  End teardown\n  tests/invalid_ssl_config.rb failed in 16.63 seconds\n\n\n...\n\n\nFailed Tests Cases:\n        Test Case tests/invalid_ssl_config.rb reported: #<Minitest::Assertion: pxp-agent service should not be running due to invalid SSL config.\n      Expected /stopped/ to match \"service { 'pxp-agent':\\n  ensure => 'maintenance',\\n  enable => 'false',\\n}\\n\".>{code}\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32115", "fixedVersions": [], "id": "32115", "issueType": "Bug", "key": "PCP-307", "labels": ["pxp_puppet-agent_ci"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-12-13T17:33:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent acceptance invalid_ssl_config.rb fails on Solaris 10", "timeSpent": "PT0S", "updated": "2016-12-13T17:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a69e978d-6cea-49f9-9227-3a3ef8a776c0", "body": "This may be the root cause of an intermittent failure we have been seeing in our acceptance tests.  I wrote up this ticket: https://puppet.atlassian.net/browse/PE-14433.  We were trying to get more info, but even with logging set to debug we didn't get enough info to determine what the exact problem was.  It may be useful to log the entirety of the response somewhere for troubleshooting in the future.", "created": "2016-03-10T13:16:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "I've submitted a PR which updates the {{pxp-module-puppet}} to pass unique file names via the {{--lastrunreport}} option to the puppet runs it triggers. This ensures that the run report the {{pxp-module-puppet}} reads and processes was in fact produced by the puppet run it had triggered.\n\nBut unfortunately there are drawbacks:\n# by passing the {{--lastrunreport}} option to the puppet runs we break the contract that the default last run report file indeed contains the last puppet run report - as obviously the puppet runs triggered by the {{pxp-module-puppet}} won't write their reports to that file\n# the temporary run report files are stored (unless overridden in the  {{pxp-module-puppet}} configuration) in the platform temp directory as returned by ruby's [{{Dir.tmpdir()}}|http://ruby-doc.org/stdlib-2.1.0/libdoc/tmpdir/rdoc/Dir.html#method-c-tmpdir] method", "created": "2016-03-14T10:29:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "{{Dir.tmpdir}} should be safe to use on all supported platforms, e.g. on Windows:\n\n{noformat}\nirb(main):015:0> Tempfile.new('foo', Dir.tmpdir)\n=> #<Tempfile:C:/Users/albert/AppData/Local/Temp/foo20160314-2980-1wiahdt>\n{noformat}", "created": "2016-03-14T12:25:00.000000"}, {"author": "557058:923149f8-040e-4296-b279-cbc5b8a6aa98", "body": "[~accountid:70121:199f31c7-67c7-42b0-b148-18ad3a391ab0], do you have an opinion on this? I haven't encounter a customer workflow that relies on lastrunreport on the node but am inclined to say this needs to be addressed for least surprise to those combining an orchestrator-oriented change workflow AND some bespoke reporting workflow. ", "created": "2016-03-16T09:20:00.000000"}, {"author": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "body": "I haven't heard of anyone relying on this file locally. I [searched puppet-users|https://groups.google.com/forum/#!searchin/puppet-users/lastrunreport%7Csort:date] and came up empty. I searched puppet-dev and found where it came from :) https://groups.google.com/d/msg/puppet-dev/0nwMNxNfWBw/5qwS6LTyCjgJ\n\nSo I'm provisionally (y) on this, but please pose the question to the puppet-dev list and give it a couple of days to spark a discussion", "created": "2016-03-21T10:22:00.000000"}, {"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "We did receive a negative feedback (from [~accountid:557058:aa6d1453-50f4-471b-87b9-51c229b89da5]) on the [puppet-dev list|https://groups.google.com/forum/#!searchin/puppet-dev/lastrunreport/puppet-dev/Y3jnkJvjjh4/qtWvrSX-DgAJ]. So blocking this on PUP-6072 to avoid changing the semantics of the last run report file.", "created": "2016-04-04T09:22:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I asked [~accountid:63d4062f69c7ae3958d276ed] to comment, but doing this by changing Puppet looks like unnecessary coupling and potentially invasive, and probably isn't necessary. We chatted, and he thought this problem could be addressed by writing the log to a temporary location, then copying it to Puppet's expected location... of course that also is a little invasive because it needs to query for Puppet's configured lastrunreport location.\n\nIt still seems hacky to copy files around, rather than have Puppet write output to multiple places.", "created": "2016-04-26T17:22:00.000000"}, {"author": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "body": "Closing as part of pxp-agent 1.1.3 release tasks", "created": "2016-05-17T16:33:00.000000"}], "components": ["pxp-agent"], "created": "2016-02-18T12:15:00.000000", "creator": "6361cbfc59c794184bcbd33a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2b684348"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Medium"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyne8v:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "If system clock time changes during a Puppet run, the run time in the report could be earlier than the start time of the run. In that case, the run would report unknown to pxp-agent for most of its status. Look for a change in mtime to signify the file has been written instead, so we can identify when Puppet has run and written a new report and avoid reporting unknown status to pxp-agent."}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Not doing PUP-6072, so no longer blocked."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Mar/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_96417687_*|*_1_*:*_1_*:*_1718834896_*|*_10007_*:*_1_*:*_506535606_*|*_3_*:*_2_*:*_432127951_*|*_10009_*:*_2_*:*_73284408_*|*_5_*:*_1_*:*_369374319_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_90366754_*|*_10004_*:*_2_*:*_4408179945_*|*_10006_*:*_2_*:*_6337707"}], "description": "Currently the pxp-module-puppet checks the lastrunreport stored on disk to determine what happened during a run. This can be unreliable, because it's possible that another run or something else on the system could intervene, or the report may not actually be written in certain failure scenarios. This is avoided today by checking the timestamp of the report before and after running puppet. This could be error-prone if the system time changes during the puppet run.\n\nA more robust solution could be to specify {{--lastrunreport}} explicitly, and point it at a job-specific tempfile. This could also be stored in the metadata for the job so that status can be more easily determined after a pxp-agent restart (if the report exists, it will have all the information about what happened without any need to go hunting for pids).\n\nI'm filing this while investigating an issue where pxp-agent reports that a puppet run finished successfully but all the report information is \"unknown\". I'm not sure if trouble reading the report is the cause in this case, but it appears to be a theoretical possibility, so this is a suggestion to alleviate it. Please close if this isn't a real problem or a suitable solution, or if there are different plans to address it.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31575", "fixedVersions": ["pxp-agent 1.1.3"], "id": "31575", "issueType": "Bug", "key": "PCP-306", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "6361cbfc59c794184bcbd33a", "resolution": "Fixed", "resolutionDate": "2016-05-13T09:57:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Use tempfile for lastrunreport to determine run status in pxp-module-puppet", "timeSpent": "PT0S", "updated": "2016-07-15T11:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Moved from PA to PCP because this consistently fails in the pxp-agent pre-suite", "created": "2016-04-01T07:16:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "For TEST_TARGET=centos4-64a the following host file is generated by pxp-agent/acceptance/Rakefile :\n{noformat}--\nHOSTS:\n  redhat7-64-1:\n    pe_dir:\n    pe_ver:\n    pe_upgrade_dir:\n    pe_upgrade_ver:\n    hypervisor: vmpooler\n    platform: el-7-x86_64\n    template: redhat-7-x86_64\n    roles:\n    - master\n  centos4-64-1:\n    pe_dir:\n    pe_ver:\n    pe_upgrade_dir:\n    pe_upgrade_ver:\n    hypervisor: vmpooler\n    platform: el-4-x86_64\n    template: centos-4-x86_64\n    roles:\n    - agent\nCONFIG:\n  nfs_server: none\n  consoleport: 443\n  pooling_api: http://vmpooler.delivery.puppetlabs.net/{noformat}\n\nFor the same TEST_TARGET , hiera's Rakefile results in this host file:\n{noformat}---\nHOSTS:\n  centos4-64-1:\n    pe_dir:\n    pe_ver:\n    pe_upgrade_dir:\n    pe_upgrade_ver:\n    hypervisor: vmpooler\n    platform: centos-4-x86_64\n    template: centos-4-x86_64\n    roles:\n    - agent\nCONFIG:\n  nfs_server: none\n  consoleport: 443\n  pooling_api: http://vmpooler.delivery.puppetlabs.net/{noformat}\n\nThe difference in platform is key here. When platform is centos-4-x86_64 , beaker will [yum install puppet-agent|https://github.com/puppetlabs/beaker/blob/master/lib/beaker/host/unix/pkg.rb#L80]\nWhen platform is el-4-x86_64 beaker will fail to install puppet-agent, logging that [\"Package installation not supported on rhel4\"|https://github.com/puppetlabs/beaker/blob/master/lib/beaker/host/unix/pkg.rb#L70] \n\nNext, need to determine why beaker-hostgenerator results in different platform values for the same TEST_TARGET.", "created": "2016-04-01T08:34:00.000000"}], "components": [], "created": "2016-02-18T09:00:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2a46abe5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3nz:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Opportunity"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_3118411_*|*_1_*:*_1_*:*_3697638528_*|*_10007_*:*_1_*:*_262027158_*|*_3_*:*_1_*:*_14901985_*|*_10009_*:*_1_*:*_166067594_*|*_5_*:*_1_*:*_0"}], "description": "While testing PCP-230 on all tested OSs, I found that the pre-suite fails on CentOS4:\n\nhttps://jenkins-staging.delivery.puppetlabs.net/job/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/8/SLAVE_LABEL=beaker,TEST_TARGET=centos4-64a/consoleFull\n\n{code}Install Packages\n\n* Install puppet-agent...\n  Fetching: http://builds.delivery.puppetlabs.net/puppet-agent/ce156ab61d8863b8e976d8f9e6c28a90571c338f/repo_configs/rpm/pl-puppet-agent-ce156ab61d8863b8e976d8f9e6c28a90571c338f-el-4-x86_64.repo\n    and saving to tmp/repo_configs/el/pl-puppet-agent-ce156ab61d8863b8e976d8f9e6c28a90571c338f-el-4-x86_64.repo\n  localhost $ scp tmp/repo_configs/el/pl-puppet-agent-ce156ab61d8863b8e976d8f9e6c28a90571c338f-el-4-x86_64.repo centos4-64-1:/etc/yum.repos.d/ {:ignore => }\n\n* Install puppetserver...\n  Installing puppetserver\nBeaker::Host::CommandFailure: Host 'd2m2bp829gtbmhj.delivery.puppetlabs.net' exited with 127 running:\n puppet --version\nLast 10 lines of output were:\n\tbash: puppet: command not found\n/var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/centos4-64a/puppet-agent/pxp-agent/acceptance/setup/aio/pre-suite/010_Install.rb:47\n/var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/centos4-64a/puppet-agent/pxp-agent/acceptance/setup/aio/pre-suite/010_Install.rb:46\n/var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/centos4-64a/puppet-agent/pxp-agent/acceptance/setup/aio/pre-suite/010_Install.rb:46\n/var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/centos4-64a/puppet-agent/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.34.0/bin/beaker:6\nBegin teardown\nEnd teardown\nWarning: setup/aio/pre-suite/010_Install.rb errored in 26.70 seconds{code}\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31689", "fixedVersions": [], "id": "31689", "issueType": "Bug", "key": "PCP-359", "labels": ["pxp_puppet-agent_ci"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-04-06T09:02:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent acceptance pre-suite failed on CentOS4", "timeSpent": "PT0S", "updated": "2016-05-11T17:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "TIL: On OSX the service cannot be stopped. It's either running or disabled. If pxp-agent gets into a fault state (bad SSL, missing config) and the pxp-agent executable terminates, then the service remains running and a watchdog will re-execute pxp-agent every ten seconds.\nWhen our acceptance tests run _puppet resource service pxp-agent_ it always returns \"Running\"\n\nI think the tests simply need to not assert a stopped service on OSX.\n\nPotential new test cases are to ensure that pxp-agent with invalid configuration will begin to work if valid configuration is swapped in", "created": "2016-03-31T06:45:00.000000"}], "components": ["pxp-agent package", "QA"], "created": "2016-02-18T07:38:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@34eac910"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3nj:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Opportunity."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_5686813_*|*_1_*:*_1_*:*_3548956577_*|*_10007_*:*_1_*:*_348346670_*|*_3_*:*_1_*:*_76424945_*|*_10009_*:*_1_*:*_169261683_*|*_5_*:*_1_*:*_0"}], "description": "See https://jenkins-staging.delivery.puppetlabs.net/job/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/8/SLAVE_LABEL=beaker,TEST_TARGET=osx1010-64a/console and https://jenkins-staging.delivery.puppetlabs.net/job/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/8/SLAVE_LABEL=beaker,TEST_TARGET=osx1011-64a/console\n\n{code}          Test Case tests/invalid_ssl_config.rb reported: #<Minitest::Assertion: pxp-agent service should not be running due to invalid SSL config.\n        Expected /stopped/ to match \"service { 'pxp-agent':\\n  ensure => 'running',\\n  enable => 'true',\\n}\\n\".>\n          Test Case tests/service_stop_start.rb reported: #<Minitest::Assertion: pxp-agent not in expected stopped state.\n        Expected /ensure => .stopped.,/ to match \"service { 'pxp-agent':\\n  ensure => 'running',\\n  enable => 'true',\\n}\\n\".>{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31875", "fixedVersions": [], "id": "31875", "issueType": "Bug", "key": "PCP-305", "labels": ["pxp_puppet-agent_ci"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-04-06T09:03:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "invalid_ssl_config.rb acceptance test fails on OSX 10.10 and 10.11", "timeSpent": "PT0S", "updated": "2016-05-11T17:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "This is duplicate of PCP-288 , these OSs also use systemd", "created": "2016-02-18T07:22:00.000000"}], "components": ["pxp-agent"], "created": "2016-02-18T06:43:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3af7a1da"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz4lyv:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2316418_*|*_5_*:*_1_*:*_7771929074_*|*_6_*:*_1_*:*_0"}], "description": "A test of the bug for PCP-230 against all our CI tested OSs indicates that Fedora might also have a bug where restarting the pxp-agent service will terminate any current instances of pxp-module-puppet-run\n\nOutput for [fedora21-64a|https://jenkins-staging.delivery.puppetlabs.net/job/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/8/SLAVE_LABEL=beaker,TEST_TARGET=fedora21-64a/consoleFull], [fedora22-64a|https://jenkins-staging.delivery.puppetlabs.net/job/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/8/SLAVE_LABEL=beaker,TEST_TARGET=fedora22-64a/consoleFull] , [fedora23-64a|https://jenkins-staging.delivery.puppetlabs.net/job/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/8/SLAVE_LABEL=beaker,TEST_TARGET=fedora23-64a/consoleFull] and [fedora23-32a|https://jenkins-staging.delivery.puppetlabs.net/job/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/8/SLAVE_LABEL=beaker,TEST_TARGET=fedora23-32a/consoleFull] indicates:\n{code}   * Restart pxp-agent service on q6fpno0dl9t5f45.delivery.puppetlabs.net\n  \n  * Signal sleep to end so Puppet run will complete\n    RuntimeError: Did not find a pid for the sleep process holding up Puppet - cannot test PXP response if Puppet wasn't sleeping\n    /var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/fedora23-32a/puppet-agent/pxp-agent/acceptance/tests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb:81\n    /var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/fedora23-32a/puppet-agent/pxp-agent/acceptance/tests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb:78\n    /var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/fedora23-32a/puppet-agent/pxp-agent/acceptance/tests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb:77\n    /var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/fedora23-32a/puppet-agent/pxp-agent/acceptance/tests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb:48\n    /var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/fedora23-32a/puppet-agent/pxp-agent/acceptance/tests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb:48\n    /var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/fedora23-32a/puppet-agent/pxp-agent/acceptance/tests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb:48\n    /var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/fedora23-32a/puppet-agent/pxp-agent/acceptance/tests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb:10\n    /var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/fedora23-32a/puppet-agent/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.34.0/bin/beaker:6\n    Begin teardown\n    End teardown\n    Warning: tests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb errored in 14.02 seconds{code}\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31791", "fixedVersions": [], "id": "31791", "issueType": "Bug", "key": "PCP-304", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Duplicate", "resolutionDate": "2016-02-18T07:22:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Fedora: non-blocking PXP tasks might be terminated when pxp-agent service restarts", "timeSpent": "PT0S", "updated": "2016-05-18T07:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Note that in the same Jenkins run", "created": "2016-02-18T05:24:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "I think this may be a duplicate of PCP-288.  Debian 8's default init system is systemd https://www.debian.org/releases/jessie/i386/release-notes/ch-whats-new.en.html#systemd", "created": "2016-02-18T06:47:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Duplicate of PCP-288 - Debian 8 uses systemd", "created": "2016-02-18T07:24:00.000000"}], "components": ["pxp-agent"], "created": "2016-02-18T05:23:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@392a2431"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz4lyf:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "18/Feb/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_7258713_*|*_5_*:*_1_*:*_0"}], "description": "A test of the bug for PCP-230 against all our CI tested OSs indicates that Debian 8 might also have a bug where restarting the pxp-agent service will terminate any current instances of pxp-module-puppet-run\n\nOutput for both [debian8-64a|https://jenkins-staging.delivery.puppetlabs.net/job/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/8/SLAVE_LABEL=beaker,TEST_TARGET=debian8-64a/consoleFull] and [debian8-32a|https://jenkins-staging.delivery.puppetlabs.net/job/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/8/SLAVE_LABEL=beaker,TEST_TARGET=debian8-32a/consoleFull] indicates:\n{code}  * Restart pxp-agent service on iq489otioml3p46.delivery.puppetlabs.net\n  \n  * Signal sleep to end so Puppet run will complete\n    RuntimeError: Did not find a pid for the sleep process holding up Puppet - cannot test PXP response if Puppet wasn't sleeping\n    /var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/debian8-32a/puppet-agent/pxp-agent/acceptance/tests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb:81\n    /var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/debian8-32a/puppet-agent/pxp-agent/acceptance/tests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb:78\n    /var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/debian8-32a/puppet-agent/pxp-agent/acceptance/tests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb:77\n    /var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/debian8-32a/puppet-agent/pxp-agent/acceptance/tests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb:48\n    /var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/debian8-32a/puppet-agent/pxp-agent/acceptance/tests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb:48\n    /var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/debian8-32a/puppet-agent/pxp-agent/acceptance/tests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb:48\n    /var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/debian8-32a/puppet-agent/pxp-agent/acceptance/tests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb:10\n    /var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/debian8-32a/puppet-agent/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.34.0/bin/beaker:6{code}\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31510", "fixedVersions": [], "id": "31510", "issueType": "Bug", "key": "PCP-303", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Duplicate", "resolutionDate": "2016-02-18T07:24:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Debian 8: non-blocking PXP tasks might be terminated when pxp-agent service restarts", "timeSpent": "PT0S", "updated": "2016-02-18T07:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "Future failures should hopefully be more instructive as we have shipped pcp-client 0.2.0 PCP-300, and [PR#339|https://github.com/puppetlabs/pxp-agent/pull/339] was merged to stable.", "created": "2016-02-18T05:10:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "This hasn't been seen in months", "created": "2016-07-06T04:57:00.000000"}], "components": ["pxp-agent", "QA"], "created": "2016-02-18T05:06:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7fdcbf7b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3sf:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "18/Feb/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_12005469744_*|*_5_*:*_1_*:*_0"}], "description": "*Example:*\nhttps://jenkins-staging.delivery.puppetlabs.net/job/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/8/SLAVE_LABEL=beaker,TEST_TARGET=debian7-32a/consoleFull\n\n{code}Begin tests/reconnect_after_broker_unavailable.rb\n\nC94789 - An associated agent should automatically reconnect when the broker was temporarily unavailable\n\n* Ensure each agent host has pxp-agent running and associated\n  localhost $ scp ../test-resources/ssl debian7-32-1:/tmp/test-ssl.PmEOf3 {:ignore => }\n  localhost $ scp /tmp/beaker20160216-15354-wnytpv debian7-32-1:/etc/puppetlabs/pxp-agent/pxp-agent.conf {:ignore => }\n\n* On master, stop then restart the broker\n\n* On each agent, test that a 2nd association has occurred\n  RuntimeError: Controller PCP client failed to connect with pcp-broker on nra3zdvitqn0j2s.delivery.puppetlabs.net after 10 attempts\n  /var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/debian7-32a/puppet-agent/pxp-agent/acceptance/tests/reconnect_after_broker_unavailable.rb:25\n  /var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/debian7-32a/puppet-agent/pxp-agent/acceptance/tests/reconnect_after_broker_unavailable.rb:24\n  /var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/debian7-32a/puppet-agent/pxp-agent/acceptance/tests/reconnect_after_broker_unavailable.rb:24\n  /var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/debian7-32a/puppet-agent/pxp-agent/acceptance/tests/reconnect_after_broker_unavailable.rb:24\n  /var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/debian7-32a/puppet-agent/pxp-agent/acceptance/tests/reconnect_after_broker_unavailable.rb:23\n  /var/lib/jenkins/workspace/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/SLAVE_LABEL/beaker/TEST_TARGET/debian7-32a/puppet-agent/pxp-agent/acceptance/.bundle/gems/gems/beaker-2.34.0/bin/beaker:6\n  Begin teardown\n  End teardown\n  Warning: tests/reconnect_after_broker_unavailable.rb errored in 83.93 seconds{code}\n\nThe error might appear anywhere that the suite makes use if pcp-client; and not just in this test. And subsequent tests in the suite might use pcp-client and succeed; so it's not the case that the SUT has fallen over.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32114", "fixedVersions": [], "id": "32114", "issueType": "Bug", "key": "PCP-302", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Cannot Reproduce", "resolutionDate": "2016-07-06T04:57:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent acceptance tests intermittently failing due to ruby-pcp-client failing to connect", "timeSpent": "PT0S", "updated": "2016-07-06T04:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [], "components": ["pcp-broker"], "created": "2016-02-17T09:51:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5ec83ab7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3lr:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1116891_*|*_10007_*:*_1_*:*_74015902_*|*_3_*:*_1_*:*_2407298_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_248978188_*|*_10006_*:*_1_*:*_1034550362"}], "description": "Bump the trapperkeeper dependency to 1.3.  As previously spiked as PCP-247, this should be fairly frictionless.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32128", "fixedVersions": ["pcp-broker 0.7.0"], "id": "32128", "issueType": "Improvement", "key": "PCP-301", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2016-03-04T03:55:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Update to trapperkeeper 1.3 for HUP support.", "timeSpent": "PT0S", "updated": "2016-03-04T03:55:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["ruby-pcp-client"], "created": "2016-02-16T08:45:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4a4d7f08"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz4jdr:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Increased use of ruby-pcp-client in acceptance showing it fails poorly"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_8317_*|*_10007_*:*_1_*:*_76282382_*|*_3_*:*_1_*:*_83064466_*|*_5_*:*_1_*:*_0"}], "description": "The original coding is far more optimistic than should really be that a connection will happen and association will be satisfied.   Make it more apparent how the client has failed to be connected, enabling maybe something like:\n\n{code}\nclient = ::PCP::Client.new({...})\nclient.connect(5)\nunless client.associated?\n  puts \"didn't connect\"\n  puts client.state.inspect\n  puts client.events.inspect\nend\n{code}\n\nIdeally moving towards something more machine-parsable so appropriate action can be taken.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32039", "fixedVersions": ["ruby-pcp-client 0.2.0"], "id": "32039", "issueType": "Improvement", "key": "PCP-300", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2016-02-18T05:01:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Make connection failure reason more apparent", "timeSpent": "PT0S", "updated": "2016-02-18T05:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "The proposed behaviour in https://github.com/puppetlabs/cpp-pcp-client/pull/144 and https://github.com/puppetlabs/pxp-agent/pull/371:\n - in case of Associate Session response indicating `\"success\" : false`, pxp-agent will terminate", "created": "2016-03-21T10:30:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Tested with puppet-agent master 1.4.0.211.g6cc3ad2\n\nUnable to test the original bug", "created": "2016-03-24T09:12:00.000000"}], "components": ["pxp-agent"], "created": "2016-02-15T10:18:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2eacd07a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Risk Probability Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Once implemented; should not regress. May require further testing in future tickets, if the connect/associate logic becomes more involved."}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Medium"}, {"fieldName": "QA Risk Severity Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "If this bug occurs; pxp-agent may behave in an uncontrolled manner (processing requests after association failed)"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hynj1b:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Mar/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_5781193_*|*_1_*:*_1_*:*_2759553772_*|*_10007_*:*_1_*:*_170986113_*|*_3_*:*_1_*:*_244850159_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_94448289"}], "description": "*Setup*\n * Install a puppet-agent package from stable\n * Clone pcp-broker at HEAD and run with lein tk\n * Configure pxp-agent to include _\"broker-ws-uri\":\"wss://\\[broker_host\\]:8142/pcp/vNext\"_ \n * Start the pxp-agent service and attempt to send it a blocking request\n\n*Expected:*\n * pxp-agent stable only supports PCP v1 but is attempting to connect to pcp-broker with PCP vNext . Expect that pxp-agent will fail association and exit when pcp-broker sends it an association response message that includes the in-reply-to field that isn't in PCP v1 schema.\n * The blocking request to pxp-agent won't be possible as it failed association and won't be able to receive messages.\n\n*Actual:*\n * pxp-agent logs that a schema mismatch error occurred during assocation; and it does not log that association completed successfully. However instead of terminating at this point, it remains running and will accept requests\n * Actually all the current pxp-agent acceptance tests pass even though association should be failing.\n\n{code}2016-02-15 07:29:55.780289 INFO  puppetlabs.pxp_agent.main:173 - pxp-agent configuration has been validated\n2016-02-15 07:29:55.782017 INFO  puppetlabs.pxp_agent.util.daemonize:262 - Daemonization completed; pxp-agent PID=6924, PID lock file in '/var/run/puppetlabs/pxp-agent.pid'\n2016-02-15 07:29:55.782384 INFO  puppetlabs.cpp_pcp_client.client_metadata:106 - Retrieved common name from the certificate and determined the client URI: pcp://client01.example.com/agent\n2016-02-15 07:29:55.783403 INFO  puppetlabs.pxp_agent.request_processor:396 - Loading external modules configuration from /etc/puppetlabs/pxp-agent/modules\n2016-02-15 07:29:55.783846 INFO  puppetlabs.pxp_agent.request_processor:436 - Loading external modules from /opt/puppetlabs/pxp-agent/modules\n2016-02-15 07:29:56.697733 INFO  puppetlabs.cpp_pcp_client.connection:364 - Successfully established a WebSocket connection with the PCP broker\n2016-02-15 07:29:56.698090 INFO  puppetlabs.cpp_pcp_client.connector:295 - Sending Associate Session request\n2016-02-15 07:29:56.752044 ERROR puppetlabs.cpp_pcp_client.connector:321 - Invalid envelope - bad content: does not match schema: 'envelope_schema'\n2016-02-15 07:29:58.568645 INFO  puppetlabs.pxp_agent.request_processor:259 - Processing blocking request 1c1408f7-828e-4bbc-883d-e4b47da03a03 by pcp://controller01.example.com/ruby-pcp-client-49990, transaction cd84b6bc-9ad5-4ac6-8075-d500c6f77e0b\n2016-02-15 07:29:58.568997 INFO  puppetlabs.pxp_agent.external_module:297 - Executing 'pxp-module-puppet run' (blocking request), transaction id cd84b6bc-9ad5-4ac6-8075-d500c6f77e0b\n2016-02-15 07:30:02.115345 INFO  puppetlabs.pxp_agent.request_processor:348 - Blocking request 1c1408f7-828e-4bbc-883d-e4b47da03a03 by pcp://controller01.example.com/ruby-pcp-client-49990, transaction cd84b6bc-9ad5-4ac6-8075-d500c6f77e0b, has completed\n2016-02-15 07:30:02.115773 INFO  puppetlabs.pxp_agent.pxp_connector:99 - Sent response for blocking request 1c1408f7-828e-4bbc-883d-e4b47da03a03 by pcp://controller01.example.com/ruby-pcp-client-49990, transaction cd84b6bc-9ad5-4ac6-8075-d500c6f77e0b{code}\n\n", "environment": "puppet-agent stable 1.3.5.44.gd00244d d00244d6ce94427a5ed58754a798953cc4946101 (pxp-agent 1.0.2-32-g0dca91f ) on el6 VM\npcp-broker at ref da82eef28e4f79c6b2ea42325ede4c512f86e762 on el7 VM", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31906", "fixedVersions": [], "id": "31906", "issueType": "Improvement", "key": "PCP-299", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-03-24T09:12:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent may process requests after a failed association", "timeSpent": "PT0S", "updated": "2016-03-24T09:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This is the most maintenance of maintenance tickets. If someone feels this becomes an impediment, throw up a maint PR to refactor it.", "created": "2017-03-01T17:46:00.000000"}], "components": ["pxp-agent", "QA"], "created": "2016-02-12T05:40:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@bf6d756"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz4i7j:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Mar/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_33134811440_*|*_6_*:*_1_*:*_0"}], "description": "https://github.com/puppetlabs/pxp-agent/tree/stable/acceptance/lib/pxp-agent\n\n * The lib name might not be ideal; it covers a bunch of pcp-broker and pcp-client methods, so pxp-agent might not be the best lib name\n * test_helper is getting quite long and contains a mix of pcp-broker and pcp-client helper methods\n ** The current method(s) for dealing with EventMachine for ruby-pcp-client should certainly be kept in a pcp-client specific class/module", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31687", "fixedVersions": [], "id": "31687", "issueType": "Task", "key": "PCP-298", "labels": ["maintenance"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Minor", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Won't Do", "resolutionDate": "2017-03-01T17:46:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Refactor acceptance/lib/pxp-agent/", "timeSpent": "PT0S", "updated": "2017-03-01T17:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "I think a simpler workaround would be using the {{--pidfile}} option to set a different PID file.\n\nTo fix this, I suggest to let pxp-agent create {{/var/run/puppetlabs}} if necessary, in case the platform is Solaris.\npxp-agent currently relies on packaging for the creation of such directory (see https://github.com/puppetlabs/puppet-specifications/blob/master/file_paths.md#puppet-agent-nix).", "created": "2016-02-11T14:58:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Linking to PCP-232 - that is an acceptance test to ensure pxp-agent works on a reboot of the host machine", "created": "2016-02-19T10:04:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Tested with puppet-agent \nSUITE_VERSION 1.3.5.262.g9d6ed6f\nSUITE_COMMIT 9d6ed6fb9ff96306d4737c9f148d48a4e362fbcf\n\nOn Solaris10 64bit the pxp-agent service will be running following a reboot of the host. puppet agent run (both at terminal and via pxp-module-puppet) succeed", "created": "2016-02-19T11:09:00.000000"}], "components": [], "created": "2016-02-11T14:02:00.000000", "creator": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@31b6f4c4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "CS Priority", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Contact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker", "value": "623e76baee1b5a00702a7275"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "High"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz4hn3:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "In Solaris, in case --foreground is unflagged (i.e. pxp-agent will execute as a daemon) and --pidfile points to a file in /var/run/puppetlabs, pxp-agent will ensure that the directory exists, as required by the daemonization routine."}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Major bug, easy to fix, let's get rid of it"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/Feb/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_3862818_*|*_1_*:*_1_*:*_5540635_*|*_10007_*:*_1_*:*_504794225_*|*_3_*:*_1_*:*_303893_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_2_*:*_166488868"}], "description": "h3. Description\nOn Solaris, {{/var/run}} is not preserved across reboots. As a result, directories created under it, such as {{/var/run/puppetlabs}} need to be created on every boot. This seems to be a problem for the pxp-agent daemon.\n \nh3. The Problem\nWhen changing the puppet agent's rundir to anything other than {{/var/run/puppetlabs}}  then reboot the Puppet agent's machine, pxp-agent fails to start \n\nh3. Sample Error From pxp-agent.log\n{noformat}\n2016-02-09 16:10:44.938930 ERROR puppetlabs.pxp_agent.main:179 - Fatal configuration error: the PID directory'/var/run/puppetlabs' doesn't exist; cannot create PID file; cannot start pxp-agent \n2016-02-09 16:12:07.749497 ERROR puppetlabs.pxp_agent.main:179 - Fatal configuration error: the PID directory'/var/run/puppetlabs' doesn't exist; cannot create PID file; cannot start pxp-agent \n{noformat}\n\nh3. Steps to Reproduce\n# Start an agent in solaris 11 and install the agent normally\n#  Change/edit the {{puppet.conf}} and add/change the rundir to {{rundir = /var/run/puppet}} (anything other than default /var/run/puppetlabs)\n# Reboot the machine/vagrant box\n# After booting up do a {{puppet agent -t}}\n\nYou will receive error below:\n{code:java}\nError: Timed out waiting for pxp-agent to transition states\nError: /Stage[main]/Puppet_enterprise::Pxp_agent::Service/Service[pxp-agent]/ensure: change from maintenance to running failed: Timed out waiting for pxp-agent to transition states\n{code}\n\nh3. Workaround\nCurrent workaround is to disable the pxp agent globally with {{puppet_enterprise::profile::agent::pxp_enabled = false}} . This allows puppet agent runs to not be delayed by trying to start the pxp-agent service.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32037", "fixedVersions": ["pxp-agent 1.1.0"], "id": "32037", "issueType": "Bug", "key": "PCP-297", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fa55c6d9-5040-4981-92cf-3e5eea49fafb", "resolution": "Fixed", "resolutionDate": "2016-02-19T11:11:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "On Solaris, pxp-agent won't start if it's puppet agent's rundir is not /var/run/puppetlabs", "timeSpent": "PT0S", "updated": "2016-02-19T11:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "The acceptance test to check pxp-agent following host restart (PCP-232) will be made easier if this is implemented - currently the test fixture certs are located in /tmp and on many hosts will disappear on restart", "created": "2016-02-24T08:18:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Code tested on Jenkins before submitting PR:\nhttps://jenkins-staging.delivery.puppetlabs.net/job/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/23/\n\nTwo tests failed on Win10 32bit - both appear unrelated to this ticket. PCP-327 raised to deal with an issue with filepaths on 32bit Windows.", "created": "2016-03-01T06:28:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Done - merged to master and stable, and passing in CI", "created": "2016-03-02T03:21:00.000000"}], "components": ["pxp-agent", "QA"], "created": "2016-02-11T11:37:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@504aa30e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz4e1j:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "PCP-318 may break pxp-agent CI without this change"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "4.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1546735590_*|*_10007_*:*_1_*:*_74974250_*|*_3_*:*_1_*:*_76515057_*|*_5_*:*_1_*:*_0"}], "description": "Instead of using the test certs in test-resources , the pxp-agent acceptance tests should use the certificates generated by the puppet master in the test setup", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31905", "fixedVersions": [], "id": "31905", "issueType": "Task", "key": "PCP-296", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Done", "resolutionDate": "2016-03-02T03:21:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent acceptance should use puppet master/agent certs instead of test fixture certs", "timeSpent": "PT0S", "updated": "2016-05-11T17:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "validated on ubuntu1404 at master aio SHA: 1c875539df1eb059f2e2aa338c2950126d36bf48\nsame way as in the PR, but i didn't have jq...\n{code}\n[root@l4ckqaftrjnev2t ~]# while true ", "created": "2016-02-11T18:04:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "changing to ready-for-review as i'm not sure if the docs fields need updating...", "created": "2016-02-11T18:05:00.000000"}], "components": ["pcp-broker"], "created": "2016-02-11T09:08:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4c62de7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Highest Test Level", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Acceptance"}, {"fieldName": "QA Highest Test Level Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "may require some acceptance tests later"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz4dqn:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Correctly populates status service"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Enabling testing for PCP-167"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Feb/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_219098_*|*_1_*:*_1_*:*_1551747_*|*_10007_*:*_1_*:*_6819191_*|*_3_*:*_1_*:*_496423_*|*_10009_*:*_1_*:*_75821907_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_23144972"}], "description": "We incorrectly report the status of the broker as \"running\" always.  \n\n{code}\n$ curl -sk https://127.0.0.1:8142/status/v1/services/broker-service | jq \".state\"\n\"running\"\n{code}\n\nThis should be one of \"running\", \"error\", \"starting\", \"stopping\", \"unknown\" as per: https://github.com/puppetlabs/trapperkeeper-status/blob/master/documentation/wire-formats.md", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31904", "fixedVersions": ["pcp-broker 0.7.0"], "id": "31904", "issueType": "Bug", "key": "PCP-295", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2016-02-12T15:09:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pcp-broker always returns status of \"running\"", "timeSpent": "PT0S", "updated": "2017-08-22T17:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "is there a good way to test/validate this from user level?  we could try to throw requests at the broker juuuust at the right time.\n\nthoughts?", "created": "2016-03-15T17:47:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "[~accountid:557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715] this was uncovered by pxp-agent acceptance test code", "created": "2016-03-16T04:06:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "From a user level there's a much easier way to validate this:\n\n* Check out https://github.com/puppetlabs/ruby-pcp-client, bundle install\n* Repeat rapidly: {{bundle exec bin/pcp-ping -d --ssl_key ../pcp-broker/test-resources/ssl/private_keys/client01.example.com.pem --ssl_cert ../pcp-broker/test-resources/ssl/certs/client01.example.com.pem | grep :close}}  while starting/stopping a broker\n* Observe the close-code - it should be 1006, 1011, or 1000.  1011 is the new behaviour.\n\nYes the timing has to be just so, this is testing behaviour during the startup transition, further notes on the difficulty of this I added to the tests in the test suite: https://github.com/puppetlabs/pcp-broker/blob/0.7.0/test/integration/puppetlabs/pcp/broker/service_test.clj#L126-L155 ", "created": "2016-03-16T04:55:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "since this was caught by existing acceptance, and it's covered by unit/integration tests, and it's unlikely a user would hit this problem.  i agree with the low QA risk.  resolving\n", "created": "2016-03-16T09:38:00.000000"}], "components": ["pcp-broker"], "created": "2016-02-11T08:29:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@a138f72"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Medium"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3mv:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "This fix prevents session creation with the broker before it is fully ready to send messages, which could previously only occur given specific timing of actions."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Mar/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_488577_*|*_1_*:*_1_*:*_521191209_*|*_10007_*:*_2_*:*_849609422_*|*_3_*:*_1_*:*_9733236_*|*_5_*:*_1_*:*_25590345796_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_182415641_*|*_10006_*:*_1_*:*_1375083507"}], "description": "Currently there's a small window between jetty starting up with the broker websocket routes listening, and the broker service actually being started and capable of routing messages.\n\nExternally this looks like:\n\n{code}\nD, [2016-02-11T14:54:22.274223 #43424] DEBUG -- : [:connect, \"wss://vy64oh2eahqazp2.delivery.puppetlabs.net:8142/pcp/\"]\nI, [2016-02-11T14:54:23.216230 #43424]  INFO -- : [:open]\nD, [2016-02-11T14:54:23.216400 #43424] DEBUG -- : [:send, #<PCP::Message:0x007f86c88e3680 @chunks=[\"\", \"\"], @envelope={:id=>\"bbb4d40d-7bf0-4600-a276-5e0d1e3e25d9\", :message_type=>\"http://puppetlabs.com/associate_request\", :sender=>\"pcp://controller01.example.com/ruby-pcp-client-43424\", :targets=>[\"pcp:///server\"], :expires=>\"2016-02-11T14:54:26Z\"}>]\nD, [2016-02-11T14:54:23.444589 #43424] DEBUG -- : [:message, :decoded, #<PCP::Message:0x007f86c88e0a98 @chunks=[\"{\\\"id\\\":\\\"bbb4d40d-7bf0-4600-a276-5e0d1e3e25d9\\\",\\\"success\\\":true}\", \"\"], @envelope={:id=>\"d9ad8070-621e-4663-ab4c-1f42c3d34b36\", :targets=>[\"pcp://controller01.example.com/ruby-pcp-client-43424\"], :message_type=>\"http://puppetlabs.com/associate_response\", :sender=>\"pcp:///server\", :expires=>\"2016-02-11T14:54:23.404Z\"}>]\nD, [2016-02-11T14:54:23.444915 #43424] DEBUG -- : [:send, #<PCP::Message:0x007f86c88da738 @chunks=[\"{\\\"query\\\":[\\\"pcp://client01.example.com/agent\\\"]}\", \"\"], @envelope={:id=>\"5d59a016-5bd6-4f0f-a400-cdffcd5e1a8f\", :message_type=>\"http://puppetlabs.com/inventory_request\", :targets=>[\"pcp:///server\"], :expires=>\"2016-02-11T14:54:33Z\"}>]\nI, [2016-02-11T14:54:23.839668 #43424]  INFO -- : [:close, 1011, \"UncategorizedJmsException\"]\n  RuntimeError: Didn't receive a response for PCP inventory request\n{code}\n\nAnd shows up in the broker logs as so:\n\n{code}\n2016-02-11 06:54:18,782 INFO  [main] [p.t.s.w.jetty9-service] Initializing web server(s).\n2016-02-11 06:54:18,808 INFO  [main] [p.t.s.n.nrepl-service] Starting nREPL service on 127.0.0.1 port 7888\n2016-02-11 06:54:18,830 INFO  [main] [p.p.b.service] Initializing broker service\n2016-02-11 06:54:18,987 INFO  [main] [p.t.s.s.status-service] Registering status callback function for broker-service service\n2016-02-11 06:54:18,990 INFO  [main] [p.t.s.w.jetty9-service] Starting web server(s).\n2016-02-11 06:54:19,075 INFO  [main] [p.t.s.w.jetty9-core] Starting web server.\n2016-02-11 06:54:19,214 INFO  [main] [p.t.s.s.status-service] Registering status service HTTP API at /status\n2016-02-11 06:54:19,225 INFO  [main] [p.p.b.service] Starting broker service\n2016-02-11 06:54:19,241 INFO  [main] [o.a.a.s.k.p.PListStore] PListStore:[/opt/puppet-git-repos/pcp-broker/./test-resources/tmp/activemq/localhost/tmp_storage ] started\n2016-02-11 06:54:19,243 INFO  [main] [o.a.a.b.BrokerService] Using Persistence Adapter: KahaDBPersistenceAdapter[/opt/puppet-git-repos/pcp-broker/./test-resources/tmp/activemq/localhost/KahaDB]\n2016-02-11 06:54:20,209 DEBUG [qtp848673493-18] [p.p.b.core] client controller01.example.com connected from /10.32.128.133:63862\n2016-02-11 06:54:20,392 TRACE [qtp848673493-19] [p.p.b.core] Message bbb4d40d-7bf0-4600-a276-5e0d1e3e25d9 for [\"pcp:///server\"] from controller01.example.com /10.32.128.133:63862\n2016-02-11 06:54:20,692 TRACE [qtp848673493-20] [p.p.b.core] Message 5d59a016-5bd6-4f0f-a400-cdffcd5e1a8f for [\"pcp:///server\"] from controller01.example.com /10.32.128.133:63862\n2016-02-11 06:54:20,720 TRACE [qtp848673493-20] [p.p.b.core] Authorizing 5328ba07-4a97-4db0-b8df-2ffcb55e6333 for [\"pcp://controller01.example.com/ruby-pcp-client-43424\"] - true: allow-unauthenticated is true - allowed\n2016-02-11 06:54:20,726 TRACE [qtp848673493-20] [p.p.b.activemq] Delivering message 5328ba07-4a97-4db0-b8df-2ffcb55e6333 for [\"pcp://controller01.example.com/ruby-pcp-client-43424\"] to accept queue\n2016-02-11 06:54:20,793 WARN  [qtp848673493-20] [p.t.s.w.e.j.p.e.j.w.a.WebSocketAdapter$CertGetter$37c4cf7] Unhandled Error (closing connection)\norg.springframework.jms.UncategorizedJmsException: Uncategorized exception occured during JMS processing; nested exception is javax.jms.JMSException: Could not create Transport. Reason: java.io.IOException: Broker named 'localhost' does not exist.\n        at org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUtils.java:316) ~[spring-jms-3.0.5.RELEASE.jar:3.0.5.RELEASE]\n        at org.springframework.jms.support.JmsAccessor.convertJmsAccessException(JmsAccessor.java:168) ~[spring-jms-3.0.5.RELEASE.jar:3.0.5.RELEASE]\n        at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:469) ~[spring-jms-3.0.5.RELEASE.jar:3.0.5.RELEASE]\n        at org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:543) ~[spring-jms-3.0.5.RELEASE.jar:3.0.5.RELEASE]\n        at org.springframework.jms.core.JmsTemplate.convertAndSend(JmsTemplate.java:653) ~[spring-jms-3.0.5.RELEASE.jar:3.0.5.RELEASE]\n        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_71]\n        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_71]\n        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_71]\n{code}\n\nHere we have attempted to queue a message on the \"localhost\" activemq before it was started, so we get an unhandled Jms exception.\n\nRather than allowing session association, the broker should refuse before it has gone fully through its service lifecycle (start) function.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31507", "fixedVersions": ["pcp-broker 0.7.0"], "id": "31507", "issueType": "Bug", "key": "PCP-294", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2016-03-16T09:44:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "broker should reject connections before it is started", "timeSpent": "PT0S", "updated": "2017-01-06T13:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "passed CI, resolving", "created": "2016-02-11T17:16:00.000000"}], "components": ["pxp-agent", "QA"], "created": "2016-02-11T06:15:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3bbf4259"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz4dof:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Found bug PCP-294 means that the deviation between branches is no longer benign "}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Feb/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_9202719_*|*_1_*:*_1_*:*_12378911_*|*_10007_*:*_1_*:*_408193_*|*_3_*:*_1_*:*_6653675_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_10970952"}], "description": "This test case is only on master; it should be on stable as well:\nhttps://github.com/puppetlabs/pxp-agent/blob/master/acceptance/tests/reconnect_after_broker_unavailable.rb\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32112", "fixedVersions": [], "id": "32112", "issueType": "Task", "key": "PCP-293", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-02-11T17:16:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent acceptance reconnect_after_broker_unavailable.rb missing from stable", "timeSpent": "PT0S", "updated": "2016-05-11T17:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [], "components": ["pcp-broker"], "created": "2016-02-11T04:11:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2814c9e4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3lj:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_11382331_*|*_1_*:*_1_*:*_536591434_*|*_10007_*:*_2_*:*_500829380_*|*_3_*:*_2_*:*_4525521_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_81720924_*|*_10006_*:*_1_*:*_608930087"}], "description": "Add a feature switch to pcp-broker to enable vNext protocol, defaulted to off (on in development)\n\nThis will mean we can push 0.7.0 and get it integrated and minimise the bump in PE config.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31790", "fixedVersions": ["pcp-broker 0.7.0"], "id": "31790", "issueType": "Improvement", "key": "PCP-292", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2016-03-02T08:38:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Hide vNext pcp-broker support behind a feature switch", "timeSpent": "PT0S", "updated": "2016-03-02T08:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "attachments": [], "comments": [{"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "The changes were reverted. We'll revisit this when the changes are re-introduced.", "created": "2016-02-16T04:26:00.000000"}], "components": ["pxp-agent"], "created": "2016-02-10T12:23:00.000000", "creator": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@48e547bc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz4d9j:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_57358_*|*_3_*:*_1_*:*_489717368_*|*_6_*:*_1_*:*_0"}], "description": "We have changed the response structure but din't bump the schema version. This was an omission - we need to bump the version to \"2\".", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31574", "fixedVersions": ["pxp-agent 1.1.0"], "id": "31574", "issueType": "Sub-task", "key": "PCP-291", "labels": [], "originalEstimate": "PT0S", "parent": "31749", "parentSummary": "Make structure of pxp-agent  response clearer", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "resolution": "Won't Fix", "resolutionDate": "2016-02-16T04:26:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Bump the pxp-module-puppet response schema version", "timeSpent": "PT0S", "updated": "2016-02-16T04:26:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Removing wildcarded messages.", "created": "2016-12-09T15:23:00.000000"}], "components": [], "created": "2016-02-10T10:46:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@423c4de9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-399"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3sn:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Dec/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_15298467406_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_10897375120"}], "description": "When sending a message using a wildcarded destination, the error generated may be unclear as to which recipient an error relates to.\n\nIn order to clarify this, error messages (messages of type `error_message`, `ttl_expired`) need to identify not only the `in_reply_to` messageid but also the expanded destination of the message.\n\nExample:  example01/sender sends a message to pcp://*/agent, which expands pcp://example02/agent and pcp://example03/agent.  Broker observes the ttl expired while sending it to pcp://example02/agent (succeeds to example03/agent)\n\n{code}\n{:sender => \"pcp://example01/sender\"\n :destinations => [\"pcp://*/agent\"]\n :message_type => 'demo'\n :id => 27}\n{code}\n\nCurrent error message doesn't show for which recipient the message expired:\n\n{code}\n{:sender => \"pcp:///broker\"\n :destinations => [\"pcp://example01/sender\"]\n :message_type => 'ttl_expired'\n :id => 39}\n{id => 27}\n{code}\n\nPotential:\n\n{code}\n{:sender => \"pcp:///broker\"\n :destinations => [\"pcp://example01/sender\"]\n :message_type => 'ttl_expired'\n :id => 39}\n{:error_destination => \"pcp://example03/agent\"\n :id => 27}\n{code}\n\nThese could be either in the envelope or the message payload.  If moved to envelope :in_reply_to could serve the same purpose of the existing body#id.", "epicLinkSummary": "PCP Version 2 Protocol", "estimate": "PT0S", "externalId": "32221", "fixedVersions": [], "id": "32221", "issueType": "Bug", "key": "PCP-290", "labels": [], "originalEstimate": "PT0S", "parent": "31882", "parentSummary": "PCP Version 2 Protocol", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Won't Fix", "resolutionDate": "2016-12-09T15:23:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Cause of error is unclear when a wildcarded message errors", "timeSpent": "PT0S", "updated": "2016-12-09T15:23:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "This ticket has revealed acceptance test problems for a number of OSs, aside from PCP-230. I've created a label [pxp_puppet-agent_ci|https://puppet.atlassian.net/secure/IssueNavigator.jspa?reset=true&jqlQuery=labels+%3D+pxp_puppet-agent_ci] to group these tickets", "created": "2016-02-19T08:55:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Results are at https://docs.google.com/spreadsheets/d/1Efi6oS_vgsW8E1YTS6NXc593FNmwzC5FAPvHDZ8HNus/edit#gid=0\n\nMost OSs now either pass for PCP-230", "created": "2016-02-19T09:45:00.000000"}], "components": ["pxp-agent", "QA"], "created": "2016-02-10T09:16:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@262d8791"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz4czz:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_153908589_*|*_3_*:*_1_*:*_625450356_*|*_5_*:*_1_*:*_0"}], "description": "PCP-230 revealed bugs (RE-6490 , RE-6491) in 2 of the 4 OSs tested in the pxp-agent pipeline.\n\nThe bug has _not_ been tested in all the other OSs that puppet-agent is tested against\n\nTest them out and raise bugs if any further OSs fail", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31903", "fixedVersions": [], "id": "31903", "issueType": "Task", "key": "PCP-289", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Done", "resolutionDate": "2016-02-19T09:45:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Test PCP-230 on all puppet-agent TEST_TARGET values", "timeSpent": "PT0S", "updated": "2016-05-11T17:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "I'm not sure there's much value in this. At the time of raising the ticket, this was probably the best potential optimisation to the tests", "created": "2016-11-04T04:39:00.000000"}], "components": ["pxp-agent", "QA"], "created": "2016-02-09T10:01:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@60c24c7b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz4c6n:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_23218672818_*|*_5_*:*_1_*:*_0"}], "description": "The helper method _configure_std_certs_on_host_ runs quite slowly due to it scp'ing a new pxp-agent.conf file over to the agent host(s)\n\nThe pxp-agent acceptance tests currently take the approach of not trusting the pre-state the previous test left the agent host in; and will stop pxp-agent, re-create a good config file; start pxp-agent; then assert pxp-agent is associated with the broker\n\nTo make the tests run quicker; we should try to avoid the scp (maybe substitute with another method; or maybe change the approach of the tests to assume/check the state of the agent before re-creating config)", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31902", "fixedVersions": [], "id": "31902", "issueType": "Improvement", "key": "PCP-287", "labels": ["maintenance"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Minor", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Won't Do", "resolutionDate": "2016-11-04T04:39:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent acceptance - creating pxp-agent config for each test is slow", "timeSpent": "PT0S", "updated": "2016-11-04T04:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Saw this again today\n\n{code}       Total Suite Time: 632.78 seconds\n      Average Test Time: 52.73 seconds\n              Attempted: 12\n                 Passed: 10\n                 Failed: 0\n                Errored: 1\n                Skipped: 1\n                Pending: 0\n                  Total: 12\n\n      - Specific Test Case Status -\n\nFailed Tests Cases:\nErrored Tests Cases:\n      Test Case tests/invalid_ssl_config.rb reported: #<Beaker::Host::CommandFailure: Host 'ryndtvgq1uay1hl.delivery.puppetlabs.net' exited with 1 running:\n     rm -rf /cygdrive/c/ProgramData/PuppetLabs/pxp-agent/var/log/pxp-agent.log\n    Last 10 lines of output were:\n    \trm: cannot remove '/cygdrive/c/ProgramData/PuppetLabs/pxp-agent/var/log/pxp-agent.log': Device or resource busy>\nSkipped Tests Cases:\n      Test Case tests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb skip{code}\n\n", "created": "2016-05-03T07:48:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "And again today:\nhttp://jenkins.puppetlabs.com:8080/job/platform_pxp-agent_intn-van-sys_master/107/SLAVE_LABEL=beaker,TEST_TARGET=windows2012r2-64a/testReport/junit/(root)/tests/invalid_ssl_config_rb/\n\n{code}12:57:09       Test Suite: tests @ 2016-05-05 12:41:11 -0700\n12:57:09 \n12:57:09       - Host Configuration Summary -\n12:57:09 \n12:57:09 \n12:57:09               - Test Case Summary for suite 'tests' -\n12:57:09        Total Suite Time: 958.50 seconds\n12:57:09       Average Test Time: 87.14 seconds\n12:57:09               Attempted: 11\n12:57:09                  Passed: 9\n12:57:09                  Failed: 0\n12:57:09                 Errored: 1\n12:57:09                 Skipped: 1\n12:57:09                 Pending: 0\n12:57:09                   Total: 11\n12:57:09 \n12:57:09       - Specific Test Case Status -\n12:57:09         \n12:57:09 Failed Tests Cases:\n12:57:09 Errored Tests Cases:\n12:57:09       Test Case tests/invalid_ssl_config.rb reported: #<Beaker::Host::CommandFailure: Host 'szll2xcn8nxyf6f.delivery.puppetlabs.net' exited with 1 running:\n12:57:09      rm -rf /cygdrive/c/ProgramData/PuppetLabs/pxp-agent/var/log/pxp-agent.log\n12:57:09     Last 10 lines of output were:\n12:57:09     \trm: cannot remove '/cygdrive/c/ProgramData/PuppetLabs/pxp-agent/var/log/pxp-agent.log': Device or resource busy>\n12:57:09 Skipped Tests Cases:\n12:57:09       Test Case tests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb skip\n12:57:09 Pending Tests Cases:\n12:57:09 \n12:57:09     Failed: errored in TestSuite: report_and_raise_on_failure\n12:57:09     #<RuntimeError: Failed while running the tests suite>\n12:57:09     No tests to run for suite 'post_suite'\n12:57:09     No tests to run for suite 'pre_cleanup'{code}\n\n", "created": "2016-05-06T04:15:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "FACT-1296 dealt with a similar problem\n\nJust need to make the test more resilient - no need to investigate Windows file locking behaviour", "created": "2016-05-26T04:27:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "And again:\n\nhttps://jenkins.puppetlabs.com/view/puppet-agent%20suite%20pipelines/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-stable/10/SLAVE_LABEL=beaker,TEST_TARGET=windows2008r2-64a/testReport/junit/(root)/tests_failover/intentional_shutdown_failover_rb/\n\nRaising to major as these tests now also run in puppet-agent CI", "created": "2016-08-24T02:46:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "We saw this in Facter. Going to fix it to retry for a timeout period, a second or two was enough with Facter to almost entirely remove the issue.", "created": "2016-08-31T15:50:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] - merged, but I was curious about the need to enable puppetserver service on the master, have we had instances of the master node restarting?", "created": "2016-09-01T04:22:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "This fails on Windows2008r2\nhttps://jenkins.puppetlabs.com/job/platform_puppet-agent_intn-van-sys_suite-daily-pxp-agent-master/32/", "created": "2016-09-04T13:21:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "[~accountid:557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced] This has subsequently passed in CI and it takes a few attempts for me to reproduce locally", "created": "2016-09-05T11:03:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Reproducing locally", "created": "2016-09-06T12:11:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Is it trying to delete the file while pxp-agent is still running? That might conceivably be a problem on Windows.", "created": "2016-09-06T12:15:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "I added a breakpoint at the point that it fails and examined the VM. Where the test case stops the pxp-agent service, both Event Viewer  and pxp-agent.log show that it does shut down. But 9 seconds later", "created": "2016-09-07T08:21:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "I've found that the issue is reproducible (frequently, but not constantly) when running tests/service_stop_start.rb _then_ tests/failover/intentional_shutdown_failover.rb\n\nThe issue seems to be around the nssm \"Paused\" behaviour. tests/service_stop_start.rb leaves the service in a paused state due to invalid pxp-agent config", "created": "2016-09-13T06:58:00.000000"}, {"author": "557058:e484fb55-2ddc-43a0-968e-11d70ae3153c", "body": "[~accountid:557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b] is the answer then to ensure the service is running and operational in the teardown block in {{tests/service_stop_start.rb}}? If the test begins with the service in this state, it should probably exit with it in this state too? ", "created": "2016-09-13T15:28:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "[~accountid:557058:e484fb55-2ddc-43a0-968e-11d70ae3153c] - that is indeed the fix I've gone for. See PR https://github.com/puppetlabs/pxp-agent/pull/487\nI needed to raise PUP-6702 and work around this bug in the teardown - 'puppet resource service' doesn't work as expected for a Windows \"Paused\" service. So the teardown will directly use the \"net\" command instead.", "created": "2016-09-14T05:42:00.000000"}], "components": ["QA"], "created": "2016-02-09T08:35:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@718b134"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz8qfj:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "31/Aug/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_72385252_*|*_1_*:*_1_*:*_17648779648_*|*_10007_*:*_2_*:*_169437537_*|*_3_*:*_2_*:*_775878374_*|*_5_*:*_1_*:*_16180141776_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_261113557_*|*_10006_*:*_1_*:*_62153829"}], "description": "https://jenkins.puppetlabs.com/job/platform_pxp-agent_intn-van-sys_master/43/SLAVE_LABEL=beaker,TEST_TARGET=windows2012r2-64a/testReport/junit/(root)/tests/invalid_ssl_config_rb/\nSUITE_COMMIT = 8c9730fcca97e3ef54dc1f2a0b01003ec80b5804\n\n*Error:*\n{noformat}Host 'suo6v735yolrw48.delivery.puppetlabs.net' exited with 1 running:\n rm -rf /cygdrive/c/ProgramData/PuppetLabs/pxp-agent/var/log/pxp-agent.log\nLast 10 lines of output were:\n\trm: cannot remove `/cygdrive/c/ProgramData/PuppetLabs/pxp-agent/var/log/pxp-agent.log': Device or resource busy{noformat}\n*Standard output:*\n{noformat}Attempt to start pxp-agent with invalid SSL config\nlocalhost $ scp ../test-resources/ssl windows2012r2-64-1:C:/cygwin64/tmp/test-ssl.rWORY5 {:ignore => }\n\n* Setup - Stop pxp-agent service\n\n* Setup - Wipe pxp-agent log\n\n* Setup - Change pxp-agent config to use a cert that doesn't match private key\n  localhost $ scp /tmp/beaker20160209-2132-1vbakg1 windows2012r2-64-1:/cygdrive/c/ProgramData/PuppetLabs/pxp-agent/etc/pxp-agent.conf {:ignore => }\n\n* C94730 - Attempt to run pxp-agent with mismatching SSL cert and private key\n\n* Ensure pxp-agent service is stopped, and wipe log\n  Beaker::Host::CommandFailure: Host 'suo6v735yolrw48.delivery.puppetlabs.net' exited with 1 running:\n   rm -rf /cygdrive/c/ProgramData/PuppetLabs/pxp-agent/var/log/pxp-agent.log\n  Last 10 lines of output were:\n  \trm: cannot remove `/cygdrive/c/ProgramData/PuppetLabs/pxp-agent/var/log/pxp-agent.log': Device or resource busy\n  /var/lib/jenkins/workspace/platform_pxp-agent_intn-van-sys_master/SLAVE_LABEL/beaker/TEST_TARGET/windows2012r2-64a/acceptance/tests/invalid_ssl_config.rb:47\n  /var/lib/jenkins/workspace/platform_pxp-agent_intn-van-sys_master/SLAVE_LABEL/beaker/TEST_TARGET/windows2012r2-64a/acceptance/tests/invalid_ssl_config.rb:45\n  /var/lib/jenkins/workspace/platform_pxp-agent_intn-van-sys_master/SLAVE_LABEL/beaker/TEST_TARGET/windows2012r2-64a/acceptance/tests/invalid_ssl_config.rb:16\n  /var/lib/jenkins/workspace/platform_pxp-agent_intn-van-sys_master/SLAVE_LABEL/beaker/TEST_TARGET/windows2012r2-64a/acceptance/tests/invalid_ssl_config.rb:16\n  /var/lib/jenkins/workspace/platform_pxp-agent_intn-van-sys_master/SLAVE_LABEL/beaker/TEST_TARGET/windows2012r2-64a/acceptance/tests/invalid_ssl_config.rb:16\n  /usr/local/rvm/gems/ruby-2.1.1/gems/beaker-2.33.0/bin/beaker:6\n  /usr/local/rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15\n  /usr/local/rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15\n  localhost $ scp ../test-resources/ssl windows2012r2-64-1:C:/cygwin64/tmp/test-ssl.ELwcCo {:ignore => }\n  localhost $ scp /tmp/beaker20160209-2132-1vjjnyq windows2012r2-64-1:/cygdrive/c/ProgramData/PuppetLabs/pxp-agent/etc/pxp-agent.conf {:ignore => }{noformat}\n\n*Standard Error:*\n{noformat}Warning: Setting 'pluginsync' is deprecated.\n   (at C:/Program Files/Puppet Labs/Puppet/puppet/lib/puppet/defaults.rb:1592:in `block in <module:Puppet>')\nError: Cannot start pxp-agent, error was: Execution of 'C:/Windows/system32/net.exe start pxp-agent' returned 2: The requested service has already been started.\n\nMore help is available by typing NET HELPMSG 2182.\nWrapped exception:\nExecution of 'C:/Windows/system32/net.exe start pxp-agent' returned 2: The requested service has already been started.\n\nMore help is available by typing NET HELPMSG 2182.\nError: /Service[pxp-agent]/ensure: change from stopped to running failed: Cannot start pxp-agent, error was: Execution of 'C:/Windows/system32/net.exe start pxp-agent' returned 2: The requested service has already been started.\n\nMore help is available by typing NET HELPMSG 2182.{noformat}\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31686", "fixedVersions": ["pxp-agent 1.2.2"], "id": "31686", "issueType": "Bug", "key": "PCP-286", "labels": ["pxp_puppet-agent_ci", "pxp-agent_ci"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-09-16T04:31:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Acceptance test failure on Windows due to \"Device or resource busy\" when removing log file", "timeSpent": "PT0S", "updated": "2018-02-06T18:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Pinging [~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e], [~accountid:63d40628f6e1b543161789a7], and [~accountid:557058:94d3052b-8fff-43b1-91b3-4cdcbc8fcd91].", "created": "2016-02-09T05:23:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I believe pxp-module-puppet is pretty simple, as is bin/puppet -> puppet/util/command_line. I don't see any reason invoking {{Puppet::Application::Agent}} directly would be a problem.\n\nAs far as what to do with output, hopefully [~accountid:63d40628f6e1b543161789a7] has a thought on that. If it's in-process, you may have an exception to catch that would contain error information. Otherwise I suspect you have to comb stdout/stderr.", "created": "2016-02-10T14:13:00.000000"}], "components": ["pxp-agent"], "created": "2016-02-09T05:19:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3e29aa22"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3jr:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Improvements to the results provided by the pxp-module-puppet module."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Feb/16"}], "description": "If the exit code of the Puppet run is not 0, pxp-module-puppet reports back a failure without giving any indication of what went wrong; its \"error\" entry is set to \"Puppet agent exited with a non 0 exitcode\", and all the Puppet result entries (\"kind\", \"time\", \"transaction_uuid\", \"environment\", and \"status\") are set to \"unknown\".\n\nIn that case:\n* should pxp-module-puppet report Puppet's output on stdout, in order to provide details about the problem? Should it do that also in case of success? \n* should it also include Puppet's output on stderr (redirected to stdout, as the only option provided by Utils::Execution)?\n* should the Puppet result entries be optional and only included in case of success (note that pxp-module-puppet considers also the last report timestamp to determine that), to avoid having a number of \"unknown\" entries? If so, note that PCP-118 suggests using a \"report\" entry to distinguish between Puppet's results and pxp-module-puppet execution errors; such \"report\" should then be optional.\n\nI ([~accountid:557058:093475a3-6bc8-4a70-8034-ae5a2ea66512]) have somewhat related question: Have we ever considered running the puppet agent in-process, i.e. using directly the [{{Puppet::Application::Agent}}|https://github.com/puppetlabs/puppet/blob/4.3.2/lib/puppet/application/agent.rb#L8] class from the pxp-module-puppet process? Doing that could result in substantial simplification of the pxp-module-puppet code. If we have considered it, what were the cons?", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32110", "fixedVersions": [], "id": "32110", "issueType": "Improvement", "key": "PCP-285", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "status": "Needs Information", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Improve pxp-module-puppet's output in case the Puppet run fails", "timeSpent": "PT0S", "updated": "2016-12-09T15:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "The description is wrong. The \"metadata\" action of pxp-module-puppet has been documented since the module creation in its README (currently in https://github.com/puppetlabs/pxp-agent/blob/master/modules/pxp-module-puppet.md). The more recent module interface doc (https://github.com/puppetlabs/pxp-agent/blob/master/modules/README.md) instead should take into account that.\n\nI don't think is superfluous naming a mandatory action. And I don't wanna introduce behaviour changes.\n\nFinally, requiring \"metadata\" for naming such mandatory action is not a big deal", "created": "2016-03-30T07:22:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Marking as won't do as we decided to not make the suggested changes. Instead, we've updated the pxp-agent modules' interface doc to match the current behaviour.", "created": "2016-03-30T08:05:00.000000"}], "components": ["pxp-agent"], "created": "2016-02-08T14:30:00.000000", "creator": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1c778af7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz4mlz:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "30/Mar/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2574758046_*|*_10007_*:*_1_*:*_2198126_*|*_3_*:*_1_*:*_2646986_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1800091796"}], "description": "Currently all our {{pxp-agent}} external modules (the sole real one - {{pxp-module-puppet}} - and all the testing ones) support the {{metadata}} action. Running this action - i.e. executing {{<module> metadata}} is equivalent to executing just {{<module>}}. The former is undocumented, superfluous and prevents modules from defining a custom action named {{metadata}}.\nFor this reason we should remove this functionality from our existing modules.\n\nWhile the former is quite harmless, I recently discovered that the pxp-agent actually makes use of the action when reading the module metadata - which is bug, as a perfectly doc compliant custom module which does not support the {{metadata}} action would not work with the current pxp-agent. So in addition (and more importantly) to removing the metadata support form the modules we need to make sure pxp-agent doesn't use it either.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32109", "fixedVersions": [], "id": "32109", "issueType": "Bug", "key": "PCP-284", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "resolution": "Won't Do", "resolutionDate": "2016-03-30T08:05:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Remove the metadata action from pxp-agent & modules", "timeSpent": "PT0S", "updated": "2016-03-30T08:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "I think on brief reading of systemd docs that this might be as simple as https://github.com/puppetlabs/pxp-agent/blob/master/ext/systemd/pxp-agent.service needing to specify Kill-Mode=process.  https://www.freedesktop.org/software/systemd/man/systemd.kill.html#KillMode=\n\nThe intent of the PCP-207 changes are that the pxp-agent should be making independent processes that can outlive it, so killing all members of the control group would be wrong.", "created": "2016-02-09T08:11:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "{noformat}[root@rjc2jhmztuvhnkv ~]# cat /usr/lib/systemd/system/pxp-agent.service\n[Unit]\nDescription=PCP Execution Protocol (PXP) Agent\nAfter=syslog.target network.target\n\n[Service]\nEnvironmentFile=-/etc/sysconfig/pxp-agent\nEnvironmentFile=-/etc/default/pxp-agent\nExecStart=/opt/puppetlabs/puppet/bin/pxp-agent $PXP_AGENT_OPTIONS --foreground\nKillMode=process\n\n[Install]\nWantedBy=multi-user.target{noformat}\n\n[~accountid:557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e] that works!\n\n", "created": "2016-02-10T09:02:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Affected OSs in puppet-agent CI:\n\nredhat7-64a\ndebian8-64a\ndebian8-32a\nfedora21-64a\nfedora22-64a\nfedora23-64a\nfedora23-32a \nubuntu1504-64a\nsles12-64a\n", "created": "2016-02-18T07:21:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Tested against all systemd OSs mentioned above using  1.3.5.277.gbbb9b2a / bbb9b2a68b85c9137c531dec9b920698df72c127", "created": "2016-02-23T08:37:00.000000"}], "components": [], "created": "2016-02-08T03:53:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@40c256a6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Contact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker", "value": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3rb:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Feb/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_11987346_*|*_1_*:*_1_*:*_71005787_*|*_10007_*:*_1_*:*_14000700_*|*_3_*:*_1_*:*_6165332_*|*_5_*:*_1_*:*_1995354861_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_412768313_*|*_10006_*:*_1_*:*_161244084_*|*_10005_*:*_1_*:*_635904606"}], "description": "*Background:*\n * See PCP-207 . pxp-agent needs to be able to make non-blocking calls to run puppet agent, and should be able to later report on the results of that puppet agent run even if the pxp-agent service was restarted during the puppet agent run\n\n*Reproduction (of PXP use case):*\n * On a Redhat7 vmpooler host, create a puppet environment that will take some time to complete e.g. includes an Exec resource that calls sleep for several minutes. I'm using:\n{code}class sleep {\n  case $::osfamily {\n    'windows': { exec { 'sleep':\n                        command => 'true',\n                        unless  => 'sleep 500', #PUP-5806\n                        path    => 'C:\\\\cygwin64\\\\bin',} }\n    default:   { exec { 'sleep': command => '/bin/sleep 500 || /bin/true', } }\n  }\n}{code}\n * Trigger a puppet run on the agent using PXP's rpc_non_blocking_request\n ** Note that running puppet agent at terminal will not reproduce this issue\n ** The options I'm using are --server \\[server\\] --onetime --no-daemonize --environment sleep\n * Puppet should now be running but stuck on the sleep exec\n * Restart the pxp-agent service\n\n*Expected behaviour:*\n * Puppet agent (and the sleep process that puppet agent is waiting on) should still be running; and should appear as running processes on the host until either the sleep duration completes, or sleep receives SIGALARM\n\n*Actual behaviour:*\nOn Redhat6 and Ubuntu 14.04 the expected behaviour occurs. \nFor Redhat 7 or Windows 21012R2 (which has a separate ticket RE-6490), stopping the pxp-agent service appears to immediately kill puppet agent.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32032", "fixedVersions": ["pxp-agent 1.1.0"], "id": "32032", "issueType": "Bug", "key": "PCP-288", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-02-23T08:37:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "systemd: non-blocking PXP tasks are terminated when pxp-agent service restarts", "timeSpent": "PT0S", "updated": "2016-12-07T09:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["cpp-pcp-client", "pxp-agent"], "created": "2016-02-05T04:30:00.000000", "creator": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@cb88d2c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3of:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_4075697941_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_603806589"}], "description": "Check that the build instructions (especially the windows ones) in the projects' README.md files are correct; they follow the steps of puppet-agent's build scripts.\nUpdate them if not.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31503", "fixedVersions": [], "id": "31503", "issueType": "Task", "key": "PCP-278", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "resolution": "Won't Do", "resolutionDate": "2016-03-30T09:22:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Check build instructions in pxp-agent and cpp-pcp-client", "timeSpent": "PT0S", "updated": "2016-03-30T09:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "attachments": [], "comments": [{"author": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "body": "Makes slightly more sense to me to version pcp and pxp separately, and thus move the {{versions/1.0}} stuff underneath the top-level {{pcp}} and {{pxp}} directories. I recall discussing this idea at one point but not sure if had any consensus either way. Thoughts?", "created": "2016-02-04T08:43:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "I think we agreed on that.", "created": "2016-02-04T08:45:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "We have a mechanism for determining what PCP version you are using (it's derivable from the uri you established the websockets connection with) but I'm not sure we have one for the version of PXP a message should be interpreted under.  Maybe we change message_types for the different PXP versions?", "created": "2016-02-04T08:47:00.000000"}], "components": [], "created": "2016-02-04T04:39:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@366b2e58"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3qv:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "04/Feb/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_609040170_*|*_10007_*:*_1_*:*_8981023_*|*_3_*:*_1_*:*_428286365_*|*_5_*:*_1_*:*_0"}], "description": "In order to aid navigation move everything that's currently in / of pcp-specifications down to {{/versions/1.0}}, and make a copy of it at {{/versions/next}}.  Proposed and implementing changes can go into {{/versions/next}} until we're ready to assign it a firm version, at which point we can \"release\" it by copying to {{/versions/2.0}} (or {{/versions/1.1}}, or {{/versions/MagicSparkles}}).", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32197", "fixedVersions": [], "id": "32197", "issueType": "Improvement", "key": "PCP-277", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Done", "resolutionDate": "2016-02-16T07:17:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "reorganise the pcp-specifications repository to make protocol versions visible", "timeSpent": "PT0S", "updated": "2016-02-16T07:17:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This may still need to be addressed in LTH, at least on Windows. We could add an option for Leatherman.execution execute for creating a detached process, when it's set pass {{DETACHED_PROCESS}} as part of the {{dwCreationFlags}} mentioned in https://msdn.microsoft.com/en-us/library/windows/desktop/ms682425(v=vs.85).aspx, and skip the CreateJobObject section (via {{use_job_object = false}}).\n\nIt could also be https://github.com/puppetlabs/leatherman/blob/master/execution/src/windows/execution.cc#L581 causing trouble.", "created": "2016-02-19T10:20:00.000000"}], "components": ["pxp-agent"], "created": "2016-02-04T04:35:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Puppet runs should no longer be halted by restarting the pxp-agent service. This can be verified by enabling the pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb on Windows."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@39a651e9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hylykn:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "On Windows, pxp-agent will detach action processes such as Puppet runs, so that a service restart doesn't halt those actions."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "5.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "19/Feb/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_266354876_*|*_1_*:*_2_*:*_1724909119_*|*_10007_*:*_1_*:*_101787838_*|*_3_*:*_1_*:*_1200514178_*|*_4_*:*_1_*:*_86157008_*|*_5_*:*_2_*:*_1899039470_*|*_6_*:*_2_*:*_18769692011_*|*_10004_*:*_2_*:*_1816087451_*|*_10006_*:*_1_*:*_528186370"}], "description": "Trigger a pxp-module-puppet run. Kill pxp-agent's process during  such run.\n\n**bug**\n\npxp-module-puppet terminates.\n\nTo fix this we should rely on a new variant or option for leatherman::execution's execute() on Windows -that enables spawning and detaching from a child process.-\n-This issue is not related to leatherman::execution (see discussion on LTH-82). More in general, it is not related with the way pxp-agent executes external modules. It is related to the way pxp-agent is executed (nssm configuration for example).-", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32127", "fixedVersions": ["pxp-agent 1.3.1"], "id": "32127", "issueType": "Bug", "key": "PCP-276", "labels": ["ha-dep"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Critical", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-12-05T15:04:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent should detach external module instances in Windows", "timeSpent": "PT0S", "updated": "2017-05-16T11:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Here's the pxp-agent acceptance test I'm currently working on that will run into this issue: https://github.com/james-stocks/pxp-agent/tree/PCP-230master\nRunning rake ci:test:aio from that branch with TEST_TARGET=windows2012r2-64a may be the quickest way to reproduce ", "created": "2016-02-03T10:53:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "I tested further on Windows 2012R2 and Redhat 7 - the issue does not occur when pxp-agent is executed as a program.\nThe ./pxp-agent executable can be terminated during a pxp-module-puppet run and both pxp-module-puppet and the puppet agent process will continue running.\nIt's only if pxp-agent is running as a service that terminating pxp-agent will terminate pxp-module-puppet.", "created": "2016-02-04T09:50:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "https://nssm.cc/usage has a section on 'Service shutdown' that explicitly calls out what it does in shutdown. I suspect one of those modes is causing the behavior.", "created": "2016-02-05T14:54:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Created RE tickets RE-6490 for Windows and RE-6491 for Redhat 7\n\nI will close this ticket as Duplicate (the bug is being tracked by other ticket(s)) and mark those tickets as blocking the pxp-agent acceptance test ( PCP-230 )", "created": "2016-02-08T04:49:00.000000"}], "components": [], "created": "2016-02-03T10:44:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7e90195a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz49lb:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Feb/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_410711993_*|*_6_*:*_1_*:*_0"}], "description": "*Background:*\n * See PCP-207 . pxp-agent needs to be able to make non-blocking calls to run puppet agent, and should be able to later report on the results of that puppet agent run even if the pxp-agent service was restarted during the puppet agent run\n\n*Reproduction (of PXP use case):*\n * Create a puppet environment that will take some time to complete e.g. includes an Exec resource that calls sleep for several minutes. I'm using:\n{code}class sleep {\n  case $::osfamily {\n    'windows': { exec { 'sleep':\n                        command => 'true',\n                        unless  => 'sleep 500', #PUP-5806\n                        path    => 'C:\\\\cygwin64\\\\bin',} }\n    default:   { exec { 'sleep': command => '/bin/sleep 500 || /bin/true', } }\n  }\n}{code}\n * Trigger a puppet run on the agent using PXP's rpc_non_blocking_request\n ** Note that running puppet agent at terminal will not reproduce this issue\n ** The options I'm using are --server \\[server\\] --onetime --no-daemonize --environment sleep\n * Puppet should now be running but stuck on the sleep exec\n * Restart the pxp-agent service\n\n*Expected behaviour:*\n * Puppet agent (and the sleep process that puppet agent is waiting on) should still be running\n ** If the sleep is interrupted by SIGALARM, the puppet run will then complete and PXP will be able to report its results\n\n*Actual behaviour:*\nOn Redhat6 and Ubuntu 14.04 the expected behaviour occurs. \nFor Redhat 7 or Windows 21012R2 with Cygwin, stopping the pxp-agent service appears (looking at Task Manager and the Applications section of Event Viewer) to kill puppet agent.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32220", "fixedVersions": [], "id": "32220", "issueType": "Bug", "key": "PCP-279", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Duplicate", "resolutionDate": "2016-02-08T04:49:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Windows/Redhat7: non-blocking PXP task is terminated when pxp-agent service restarts", "timeSpent": "PT0S", "updated": "2016-12-07T09:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Suggested approach:\n * add a configuration option for setting the life time of actions' results", "created": "2016-02-10T07:27:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "It will be nice to follow the option format of https://docs.puppetlabs.com/puppetdb/latest/configure.html#report-ttl.", "created": "2016-02-17T10:15:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "The implemented functionality consists of:\n - new purge function, that removes the subdirectories of the spool directory that have a metadata file with a \"start\" timestamp that is older than a specified value (TTL), among those that are not currently being processed by pxp-agent (i.e. those that are contained in the ThreadContainer instance of the RequestProcessor)", "created": "2016-02-23T13:26:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "i couldn't get non_blocking requests working in time to get stuff into the spool dir.\n\ni'll try to revisit this tonight.", "created": "2016-02-23T18:15:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "when i don't change the certs from client01blah... i get a general pxp timeout type of error\nwhen i set the configs to:\n{code}\n(def test-parameters\n  {:server \"wss://localhost:8142/pcp/\"\n   :cert \"/etc/puppetlabs/puppet/ssl/certs/k42k4fx8raoy6e6.delivery.puppetlabs.net.pem\"\n   :private-key \"/etc/puppetlabs/puppet/ssl/private_keys/k42k4fx8raoy6e6.delivery.puppetlabs.net.pem\"\n   :cacert \"/etc/puppetlabs/puppet/ssl/certs/ca.pem\"\n   :type \"puppet-api-test\"\n   :timeout 60\n   :message-expiry 60})\n[and test-run-agent to:]\n(defn test-run-agent\n  []\n  (with-open [x (open test-parameters)]\n    (deref\n      (run-agent x \"k42k4fx8raoy6e6.delivery.puppetlabs.net.pem\" puppet-env puppet-args\n                 (fn [x y] (println \"Success FN called\")\n                   (println x)\n                   (println y))\n                 (fn [x] (println \"Failure FN called\")\n                   (println x))))))\n{code}\ni get:\n{code}\nuser=> (user/test-run-agent)\n2016-02-24 12:06:20,057 ERROR [clojure-agent-send-off-pool-7] [p.p.client] unexpected error\njavax.net.ssl.SSLHandshakeException: General SSLEngine problem\n        at sun.security.ssl.Handshaker.checkThrown(Handshaker.java:1431) ~[na:1.8.0_71]\n        at sun.security.ssl.SSLEngineImpl.checkTaskThrown(SSLEngineImpl.java:535) ~[na:1.8.0_71]\n{code}\n\nin all cases the spool dir remains empty\n\npxp-agent is running there\nmaybe i need different certs and keys and not the puppet agent/master ones?", "created": "2016-02-24T13:10:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Thanks for looking at it.\n\nYeah, to connect pxp-agent and clj-pxp-puppet to pcp-broker, you need to use a set of certificates that the broker is happy with. And to send the request to pxp-agent, you must update the identity of the run-agent function as you've done above. I think that you just need a different sets of certs than those you used. Sorry, but I don't know more about the certs provided with puppet-agent / PE packages.", "created": "2016-02-24T13:42:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Tested in puppet-agent master 1.3.5.287.g9d9f015\n\nWorks according to Alessandro's description of the implemented functionality.\n\nTwo items worth noting:\n # When you request puppet runs through pxp-agent , the transaction folder in spool/ for that puppet run may persist even if it's start time in metadata is older than the purge TTL. This is due to the transaction being in pxp-agent's transaction cache and is not a bug. The folder will be purged if enough transactions occur to fill pxp-agent's transaction cache or pxp-agent is restarted. \n # I found a \"bug\" where if a transaction's metadata is valid JSON but has a corrupt value for start time e.g. _\"start\":\"2016816Z\"_ then the next purge will fail to delete that folder or any folder after it", "created": "2016-02-25T07:51:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "To be more precise, \"1234567890\" would work fine, as it won't be validated by the date time parser.\nThe issue would take place with a longer string (> 21 chars).\nThis is fixed with PR #350. ", "created": "2016-02-25T07:57:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Re-tested in 1.3.5.295.g3bc9c43\n\nThe case mentioned above where pxp-agent service crashes no longer occurs", "created": "2016-02-25T09:34:00.000000"}], "components": ["pxp-agent"], "created": "2016-02-03T10:30:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3338622c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Medium"}, {"fieldName": "QA Risk Severity Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Disk space wasted"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hynnin:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The user can now configure pxp-agent to clean up the directories containing the output of action runs. This is done by setting the new --spool-dir-purge-ttl option, that defines the TTL of results directory; if the configured value is not zero, pxp-agent will perform a purge run at startup. It will also repeat such operation in time intervals proportional to the configured TTL."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Feb/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_4392494_*|*_1_*:*_1_*:*_775935133_*|*_10007_*:*_1_*:*_71956994_*|*_3_*:*_1_*:*_280241948_*|*_5_*:*_1_*:*_1819125459_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_159291780_*|*_10006_*:*_1_*:*_605615253"}], "description": "Design and implement a clean up mechanism.\nDocument it.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31789", "fixedVersions": ["pxp-agent 1.1.0"], "id": "31789", "issueType": "New Feature", "key": "PCP-275", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-02-25T09:34:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent should clean up its spool directory", "timeSpent": "PT0S", "updated": "2016-03-17T11:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "LTH-81 is done, we just need to wait for a new leatherman release (possibly 0.4.3).", "created": "2016-04-11T05:46:00.000000"}, {"author": "557058:ab1874a9-45ab-4efc-91aa-5200c165b2c4", "body": "The PR at https://github.com/puppetlabs/pxp-agent/pull/410 may have broken linking on AIX:\n\n{code}\n14:47:53 /opt/pl-build-tools/bin/g++   -I/opt/puppetlabs/puppet/include -I/include -I/opt/puppetlabs/puppet/include -I/include -I/opt/puppetlabs/puppet/include -I/include -I/opt/puppetlabs/puppet/include -I/include  -I/opt/puppetlabs/puppet/include -I/include -I/opt/puppetlabs/puppet/include -I/include -I/opt/puppetlabs/puppet/include -I/include  -I/opt/puppetlabs/puppet/include -I/include -I/opt/puppetlabs/puppet/include -I/include  -I/opt/puppetlabs/puppet/include -I/include   -Wno-maybe-uninitialized -std=c++11 -Wall -Werror -Wno-unused-parameter -Wno-unused-local-typedefs -Wno-unknown-pragmas -Wno-missing-field-initializers -Wextra -Wno-deprecated-declarations -Wno-reorder -Wno-sign-compare -O3 -DNDEBUG  -L/opt/pl-build-tools/lib -L/opt/puppetlabs/puppet/lib -L/opt/pl-build-tools/lib -L/opt/puppetlabs/puppet/lib -L/opt/pl-build-tools/lib -L/opt/puppetlabs/puppet/lib -L/opt/pl-build-tools/lib -L/opt/puppetlabs/puppet/lib  CMakeFiles/cpp-pcp-client-unittests.dir/main.cc.o CMakeFiles/cpp-pcp-client-unittests.dir/unit/connector/client_metadata_test.cc.o CMakeFiles/cpp-pcp-client-unittests.dir/unit/connector/connection_test.cc.o CMakeFiles/cpp-pcp-client-unittests.dir/unit/connector/certs.cc.o CMakeFiles/cpp-pcp-client-unittests.dir/unit/protocol/serialization_test.cc.o CMakeFiles/cpp-pcp-client-unittests.dir/unit/protocol/message_test.cc.o CMakeFiles/cpp-pcp-client-unittests.dir/unit/protocol/schemas_test.cc.o CMakeFiles/cpp-pcp-client-unittests.dir/unit/validator/schema_test.cc.o CMakeFiles/cpp-pcp-client-unittests.dir/unit/validator/validator_test.cc.o  -o ../../bin/cpp-pcp-client-unittests  -L/opt/puppetlabs/puppet/include -Wl,-brtl,-bnoipath,-bexpall ../libcpp-pcp-client.so /opt/pl-build-tools/lib/libboost_filesystem.a /opt/pl-build-tools/lib/libboost_chrono.a /opt/pl-build-tools/lib/libboost_system.a /opt/pl-build-tools/lib/libboost_date_time.a /opt/pl-build-tools/lib/libboost_thread.a /opt/pl-build-tools/lib/libboost_log.a /opt/pl-build-tools/lib/libboost_regex.a /opt/pl-build-tools/lib/libboost_random.a /opt/puppetlabs/puppet/lib/leatherman_util.so /opt/puppetlabs/puppet/lib/leatherman_json_container.so /opt/puppetlabs/puppet/lib/leatherman_logging.so /opt/puppetlabs/puppet/lib/leatherman_locale.so /opt/puppetlabs/puppet/lib/libssl.so /opt/puppetlabs/puppet/lib/libcrypto.so -Wl,-blibpath:/opt/puppetlabs/puppet/include:/var/tmp/tmp.qVwDpY4fJ6/cpp-pcp-client/lib:/opt/pl-build-tools/lib:/opt/puppetlabs/puppet/lib:/opt/pl-build-tools/lib/gcc/powerpc-ibm-aix7.1.0.0/5.2.0:/usr/lib:/lib \n14:47:54 ld: 0711-224 WARNING: Duplicate symbol: .__init_aix_libgcc_cxa_atexit\n14:47:54 ld: 0711-224 WARNING: Duplicate symbol: __dso_handle\n14:47:54 ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.\n14:47:54 ld: 0711-317 ERROR: Undefined symbol: .pthread_mutex_lock\n14:47:54 ld: 0711-317 ERROR: Undefined symbol: .pthread_mutex_unlock\n14:47:54 ld: 0711-317 ERROR: Undefined symbol: .pthread_mutex_destroy\n14:47:54 ld: 0711-317 ERROR: Undefined symbol: .pthread_rwlock_destroy\n14:47:54 ld: 0711-317 ERROR: Undefined symbol: .pthread_cond_wait\n14:47:54 ld: 0711-317 ERROR: Undefined symbol: .pthread_cond_broadcast\n14:47:54 ld: 0711-317 ERROR: Undefined symbol: .pthread_rwlock_rdlock\n14:47:54 ld: 0711-317 ERROR: Undefined symbol: .pthread_rwlock_unlock\n14:47:54 ld: 0711-317 ERROR: Undefined symbol: .pthread_rwlock_init\n14:47:54 ld: 0711-317 ERROR: Undefined symbol: .pthread_rwlock_wrlock\n14:47:54 ld: 0711-317 ERROR: Undefined symbol: .pthread_mutex_init\n14:47:54 ld: 0711-317 ERROR: Undefined symbol: pthread_cancel\n14:47:54 ld: 0711-317 ERROR: Undefined symbol: .pthread_getspecific\n14:47:54 ld: 0711-317 ERROR: Undefined symbol: .pthread_key_create\n14:47:54 ld: 0711-317 ERROR: Undefined symbol: .pthread_setspecific\n14:47:54 ld: 0711-317 ERROR: Undefined symbol: .pthread_create\n14:47:54 ld: 0711-317 ERROR: Undefined symbol: .pthread_attr_getdetachstate\n14:47:54 ld: 0711-317 ERROR: Undefined symbol: .pthread_delay_np\n14:47:54 ld: 0711-317 ERROR: Undefined symbol: .pthread_cond_destroy\n14:47:54 ld: 0711-317 ERROR: Undefined symbol: .pthread_detach\n14:47:54 ld: 0711-317 ERROR: Undefined symbol: .pthread_cond_init\n14:47:54 ld: 0711-317 ERROR: Undefined symbol: .pthread_cond_timedwait\n14:47:54 ld: 0711-317 ERROR: Undefined symbol: .pthread_join\n14:47:54 ld: 0711-317 ERROR: Undefined symbol: .pthread_cond_signal\n14:47:54 ld: 0711-317 ERROR: Undefined symbol: .pthread_key_delete\n14:47:54 collect2: error: ld returned 8 exit status\n14:47:54 gmake[3]: *** [bin/cpp-pcp-client-unittests] Error 1\n14:47:54 gmake[3]: Leaving directory `/var/tmp/tmp.qVwDpY4fJ6/cpp-pcp-client'\n14:47:54 gmake[2]: Leaving directory `/var/tmp/tmp.qVwDpY4fJ6/cpp-pcp-client'\n14:47:54 gmake[2]: *** [lib/tests/CMakeFiles/cpp-pcp-client-unittests.dir/all] Error 2\n14:47:54 gmake[1]: Leaving directory `/var/tmp/tmp.qVwDpY4fJ6/cpp-pcp-client'\n14:47:54 gmake[1]: *** [all] Error 2\n14:47:54 gmake: *** [cpp-pcp-client-build] Error 2\n{code}", "created": "2016-05-02T16:12:00.000000"}, {"author": "557058:ab1874a9-45ab-4efc-91aa-5200c165b2c4", "body": "ping [~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] ^^", "created": "2016-05-02T16:13:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Probably, I wasn't sure if it'd go through clean.", "created": "2016-05-02T16:22:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Need to revert these changes, they're still required on AIX.", "created": "2016-05-02T17:48:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "AIX linking is still weird, can't remove the pthread dependency.", "created": "2016-05-03T09:39:00.000000"}], "components": ["cpp-pcp-client"], "created": "2016-02-03T04:19:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@79961626"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3on:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/May/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_6790728667_*|*_10007_*:*_2_*:*_57112410_*|*_3_*:*_2_*:*_422406571_*|*_5_*:*_2_*:*_10431_*|*_10006_*:*_1_*:*_524852152"}], "description": "We currently have the pthread building dependency due to PCP-269.\nWe should remove it once LTH-81 is done.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31873", "fixedVersions": [], "id": "31873", "issueType": "Improvement", "key": "PCP-270", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Won't Fix", "resolutionDate": "2016-05-03T10:38:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Remove pthread dependency", "timeSpent": "PT0S", "updated": "2016-05-03T10:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Fix to the building configuration.", "created": "2016-02-03T03:32:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Proposed the same fix as FACT-1338.\nCreated PCP-270 to keep track of LTH-81 and remove the pthread dependency from cpp-pcp-client.", "created": "2016-02-03T04:36:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "Still getting the same error\n\n{code}\n/var/tmp/tmp.hI5J4Li6FX/cpp-pcp-client/lib/src/connector/connection.cc:18:49: fatal error: websocketpp/common/connection_hdl.hpp: No such file or directory\ncompilation terminated.\ngmake[3]: *** [lib/CMakeFiles/libcpp-pcp-client.dir/src/connector/connection.cc.o] Error 1\n{code}\n\nSee Jenkins for details:\nhttps://jenkins.puppetlabs.com/view/puppet-agent/view/manual/view/master/job/platform_puppet-agent_pkg-van-ship_manual-master/5/BUILD_TARGET=aix-5.3-ppc,SLAVE_LABEL=beaker/consoleFull", "created": "2016-02-03T11:20:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "{{puppet-agent}} at SHA {{f70b4faf2ead57205693cf40dd154fb1ea07cb8c}} successfully compiles on AIX 5.3, 6.1, and 7.1\n\nw00t!", "created": "2016-02-04T17:20:00.000000"}], "components": ["cpp-pcp-client"], "created": "2016-02-02T18:47:00.000000", "creator": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4e1af8a5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz49fj:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Important as it's a pipeline blocker"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Feb/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_28187227_*|*_1_*:*_1_*:*_31559087_*|*_10007_*:*_2_*:*_41363194_*|*_3_*:*_1_*:*_2799273_*|*_5_*:*_1_*:*_3605574030_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_2_*:*_42978030_*|*_10006_*:*_1_*:*_20724248"}], "description": "When attempting to build {{puppet-agent}} at SHA {{47a08b157a5f2361f865047920cf0fcda4d38d1d}}, {{cpp-pcp-client}} at SHA {{2d975a26ddd5d39a1f7da528082518fb65213df5}} errors during compilation on AIX 5.3\n\n{code}\n[ 19%] Building CXX object lib/CMakeFiles/libcpp-pcp-client.dir/src/connector/connection.cc.o\nBuilding CXX object lib/CMakeFiles/libcpp-pcp-client.dir/src/connector/connector.cc.o\ncd /var/tmp/tmp.UAQzk4mNmN/cpp-pcp-client/lib && /opt/pl-build-tools/bin/g++   -DBOOST_LOG_WITHOUT_WCHAR_T -DBOOST_SYSTEM_NO_DEPRECATED -DCPP_PCP_CLIENT_LOGGING_PREFIX=\\\"puppetlabs.cpp_pcp_client\\\" -DLEATHERMAN_LOGGING_LINE_NUMBERS -Dlibcpp_pcp_client_EXPORTS -I/opt/puppetlabs/puppet/include -I/include -I/opt/puppetlabs/puppet/include -I/include  -I/opt/puppetlabs/puppet/include -I/include   -Wno-maybe-uninitialized -std=c++11 -Wall -Werror -Wno-unused-parameter -Wno-unused-local-typedefs -Wno-unknown-pragmas -Wno-missing-field-initializers -Wextra -Wno-deprecated-declarations -Wno-reorder -Wno-sign-compare -O3 -DNDEBUG -fPIC -I/var/tmp/tmp.UAQzk4mNmN/cpp-pcp-client/generated -I/var/tmp/tmp.UAQzk4mNmN/cpp-pcp-client/lib/inc -I/opt/pl-build-tools/include -I/var/tmp/tmp.UAQzk4mNmN/cpp-pcp-client/src/valijson/include -I/var/tmp/tmp.UAQzk4mNmN/cpp-pcp-client/src/websocketpp -I/opt/puppetlabs/puppet/include -I/var/tmp/tmp.UAQzk4mNmN/cpp-pcp-client/../vendor/nowide/include -I/opt/puppetlabs/puppet/include/leatherman/vendor/rapidjson/include    -o CMakeFiles/libcpp-pcp-client.dir/src/connector/connector.cc.o -c /var/tmp/tmp.UAQzk4mNmN/cpp-pcp-client/lib/src/connector/connector.cc\ncd /var/tmp/tmp.UAQzk4mNmN/cpp-pcp-client/lib && /opt/pl-build-tools/bin/g++   -DBOOST_LOG_WITHOUT_WCHAR_T -DBOOST_SYSTEM_NO_DEPRECATED -DCPP_PCP_CLIENT_LOGGING_PREFIX=\\\"puppetlabs.cpp_pcp_client\\\" -DLEATHERMAN_LOGGING_LINE_NUMBERS -Dlibcpp_pcp_client_EXPORTS -I/opt/puppetlabs/puppet/include -I/include -I/opt/puppetlabs/puppet/include -I/include  -I/opt/puppetlabs/puppet/include -I/include   -Wno-maybe-uninitialized -std=c++11 -Wall -Werror -Wno-unused-parameter -Wno-unused-local-typedefs -Wno-unknown-pragmas -Wno-missing-field-initializers -Wextra -Wno-deprecated-declarations -Wno-reorder -Wno-sign-compare -O3 -DNDEBUG -fPIC -I/var/tmp/tmp.UAQzk4mNmN/cpp-pcp-client/generated -I/var/tmp/tmp.UAQzk4mNmN/cpp-pcp-client/lib/inc -I/opt/pl-build-tools/include -I/var/tmp/tmp.UAQzk4mNmN/cpp-pcp-client/src/valijson/include -I/var/tmp/tmp.UAQzk4mNmN/cpp-pcp-client/src/websocketpp -I/opt/puppetlabs/puppet/include -I/var/tmp/tmp.UAQzk4mNmN/cpp-pcp-client/../vendor/nowide/include -I/opt/puppetlabs/puppet/include/leatherman/vendor/rapidjson/include    -o CMakeFiles/libcpp-pcp-client.dir/src/connector/connection.cc.o -c /var/tmp/tmp.UAQzk4mNmN/cpp-pcp-client/lib/src/connector/connection.cc\n/var/tmp/tmp.UAQzk4mNmN/cpp-pcp-client/lib/src/connector/connection.cc:18:49: fatal error: websocketpp/common/connection_hdl.hpp: No such file or directory\ncompilation terminated.\ngmake[3]: *** [lib/CMakeFiles/libcpp-pcp-client.dir/src/connector/connection.cc.o] Error 1\ngmake[3]: *** Waiting for unfinished jobs....\n-- extracting... [analysis]\n-- extracting... [rename]\n-- extracting... [clean up]\n-- extracting... done\n...\n\n[ 52%] Built target valijson\ngmake[3]: Leaving directory `/opt/tmp/tmp.UAQzk4mNmN/cpp-pcp-client'\ngmake[2]: *** [lib/CMakeFiles/libcpp-pcp-client.dir/all] Error 2\ngmake[2]: Leaving directory `/opt/tmp/tmp.UAQzk4mNmN/cpp-pcp-client'\ngmake[1]: *** [all] Error 2\ngmake[1]: Leaving directory `/opt/tmp/tmp.UAQzk4mNmN/cpp-pcp-client'\ngmake: *** [cpp-pcp-client-build] Error 2\n/var/lib/jenkins/workspace/platform_puppet-agent_pkg-van-ship_manual-master/BUILD_TARGET/aix-5.3-ppc/SLAVE_LABEL/beaker/path/ruby/2.1.0/gems/vanagon-0.5.0/lib/vanagon/utilities.rb:254:in `remote_ssh_command': Remote ssh command ((cd /var/tmp/tmp.UAQzk4mNmN; gmake)) failed on 'root@pe-aix-53-builder.delivery.puppetlabs.net'. (RuntimeError)\n\tfrom /var/lib/jenkins/workspace/platform_puppet-agent_pkg-van-ship_manual-master/BUILD_TARGET/aix-5.3-ppc/SLAVE_LABEL/beaker/path/ruby/2.1.0/gems/vanagon-0.5.0/lib/vanagon/engine/base.rb:24:in `dispatch'\n\tfrom /var/lib/jenkins/workspace/platform_puppet-agent_pkg-van-ship_manual-master/BUILD_TARGET/aix-5.3-ppc/SLAVE_LABEL/beaker/path/ruby/2.1.0/gems/vanagon-0.5.0/lib/vanagon/driver.rb:86:in `run'\n\tfrom /var/lib/jenkins/workspace/platform_puppet-agent_pkg-van-ship_manual-master/BUILD_TARGET/aix-5.3-ppc/SLAVE_LABEL/beaker/path/ruby/2.1.0/gems/vanagon-0.5.0/bin/build:32:in `block in <top (required)>'\n\tfrom /var/lib/jenkins/workspace/platform_puppet-agent_pkg-van-ship_manual-master/BUILD_TARGET/aix-5.3-ppc/SLAVE_LABEL/beaker/path/ruby/2.1.0/gems/vanagon-0.5.0/bin/build:25:in `each'\n\tfrom /var/lib/jenkins/workspace/platform_puppet-agent_pkg-van-ship_manual-master/BUILD_TARGET/aix-5.3-ppc/SLAVE_LABEL/beaker/path/ruby/2.1.0/gems/vanagon-0.5.0/bin/build:25:in `<top (required)>'\n\tfrom /var/lib/jenkins/workspace/platform_puppet-agent_pkg-van-ship_manual-master/BUILD_TARGET/aix-5.3-ppc/SLAVE_LABEL/beaker/path/ruby/2.1.0/bin/build:23:in `load'\n\tfrom /var/lib/jenkins/workspace/platform_puppet-agent_pkg-van-ship_manual-master/BUILD_TARGET/aix-5.3-ppc/SLAVE_LABEL/beaker/path/ruby/2.1.0/bin/build:23:in `<main>'\nRemote ssh command ((cd /var/tmp/tmp.UAQzk4mNmN; gmake)) failed on 'root@pe-aix-53-builder.delivery.puppetlabs.net'.\n{code}", "environment": "AIX 5.3", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31901", "fixedVersions": ["cpp-pcp-client 1.1.0"], "id": "31901", "issueType": "Bug", "key": "PCP-269", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Blocker", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "resolution": "Fixed", "resolutionDate": "2016-02-04T17:20:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "cpp-pcp-client fails to compile on AIX 5.3", "timeSpent": "PT0S", "updated": "2016-03-17T11:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["clj-pcp-common"], "created": "2016-01-27T07:53:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2241789a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3iv:"}], "description": "Similar to PCP-194, we will probably see a benefit in implementing a record type for Message over the current 'correctly shaped map' we use now.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31869", "fixedVersions": [], "id": "31869", "issueType": "Improvement", "key": "PCP-258", "labels": ["maintenance"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "defrecord Message abstractions in clj-pcp-common", "timeSpent": "PT0S", "updated": "2017-03-06T12:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:43c81f8c-ae3f-46d9-84b0-c9c65e1da709", "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Must check the status of i18n work on leatherman before scheduling this.", "created": "2016-02-03T09:26:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Leatherman changes are now in and this is ready for implementation.\n", "created": "2016-02-23T02:57:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Must pay attention to the usage of leatherman::util::plural() in pxp-agent/cpp-pcp-client, that is completely English-specific.", "created": "2016-02-23T02:59:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Boost.Locale provides several [translate methods|http://www.boost.org/doc/libs/1_58_0/libs/locale/doc/html/messages_formatting.html#plural_forms], that are wrapped by leatherman::locale::translate. LTH-83 would complete the Leatherman.Locale wrappers for it so we can do pluralization and provide additional context. When you have one of those needs, you'd then use the correct form of leatherman::locale::translate.", "created": "2016-04-28T11:17:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "The work for using leatherman's i18n is completed.\nWhat's left is:\n - use plural functions (LTH-83)", "created": "2016-05-31T10:09:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Since this relies on Leatherman tooling and macros, there's a good chance this work is pretty much done and just needs to be enabled. Do we have a timeline for when this needs to be done? [~accountid:557058:43c81f8c-ae3f-46d9-84b0-c9c65e1da709]?", "created": "2017-07-10T16:11:00.000000"}, {"author": "557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8", "body": "Closing as it isn't a priority.  Feel free to reopen if it is important.", "created": "2019-11-07T13:15:00.000000"}], "components": ["cpp-pcp-client", "pxp-agent"], "created": "2016-01-27T07:42:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6e5a7ad8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PA-1273"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Highest Test Level", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Acceptance"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hym38v:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Feb/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_14699534343_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_81215667123_*|*_10005_*:*_1_*:*_23336779924"}], "description": "pxp-agent should in its logs and other user-visible error messages use the configured system locale of the system it is running on.", "epicLinkSummary": "Translate Puppet Agent components - Phase 3 C++", "estimate": "PT0S", "externalId": "31684", "fixedVersions": [], "id": "31684", "issueType": "Improvement", "key": "PCP-257", "labels": ["i18n"], "originalEstimate": "PT0S", "parent": "58296", "parentSummary": "Translate Puppet Agent components - Phase 3 C++", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Won't Do", "resolutionDate": "2019-11-07T13:15:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Enable i18n for pxp-agent and cpp-pcp-client", "timeSpent": "PT0S", "updated": "2019-11-07T13:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Created PCP-312 to keep track of the necessary component changes after this renaming.", "created": "2016-02-24T03:20:00.000000"}], "components": ["protocol"], "created": "2016-01-27T07:37:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@43123b07"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3pr:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_4842001563_*|*_10007_*:*_1_*:*_3145834_*|*_3_*:*_1_*:*_2584055_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_591809299"}], "description": "`in-reply-to` is the only PCP name with hyphens; we should use underscores for consistency, as done everywhere else: \"message_type\", \"destination_report\", and, in PXP, \"transaction_id\", \"notify_outcome\".\nUpdate specs #next.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31572", "fixedVersions": [], "id": "31572", "issueType": "Improvement", "key": "PCP-256", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Done", "resolutionDate": "2016-03-30T07:36:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Rename in-reply-to to in_reply_to in PCP specs", "timeSpent": "PT0S", "updated": "2016-05-11T17:51:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Only log messages' improvements.", "created": "2016-01-27T05:41:00.000000"}], "components": ["pxp-agent"], "created": "2016-01-27T05:38:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1ce40dd1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz402n:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_8100511_*|*_1_*:*_1_*:*_15362197_*|*_10007_*:*_1_*:*_6821392_*|*_3_*:*_1_*:*_73442068_*|*_5_*:*_1_*:*_3712552603_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_3874018_*|*_10006_*:*_1_*:*_518720368"}], "description": "Revisit the messages logged by pxp-agent during the processing of PXP requests after the changes made for the new external modules interface (PCP-207).\n\nEliminate redundant messages such as:\n\n{code}\n2006-01-27 12:20:57.697446 TRACE puppetlabs.cpp_pcp_client.connector:348 - Executing callback for a message with 'http://puppetlabs.com/rpc_blocking_request' schema\n2016-01-27 12:20:57.697572 TRACE puppetlabs.pxp_agent.request_processor:251 - About to validate and process PXP request message: ENVELOPE: {\"destination_report\":true,\"id\":\"c31fe902-f525-473f-bdfb-aa5c34dc9198\",\"targets\":[\"pcp://*/agent\"],\"message_type\":\"http://puppetlabs.com/rpc_blocking_request\",\"sender\":\"pcp://client03.example.com/pegasus-controller\",\"expires\":\"2016-01-27T12:21:07.649448Z\"}\nDATA: {\"transaction_id\":\"96b3449c-4876-4bef-969f-813e02631827\",\"module\":\"status\",\"action\":\"query\",\"params\":{\"transaction_id\":\"b975838e-5a98-4e52-a97c-c9677a149644\"}}\nDEBUG: {\"hops\":[{\"server\":\"pcp://broker.example.com/server\",\"time\":\"2016-01-27T12:20:57.653Z\",\"stage\":\"accepted\"},{\"server\":\"pcp://broker.example.com/server\",\"time\":\"2016-01-27T12:20:57.658Z\",\"stage\":\"accept-to-queue\"},{\"server\":\"pcp://broker.example.com/server\",\"time\":\"2016-01-27T12:20:57.692Z\",\"stage\":\"deliver\"}]}\n2016-01-27 12:20:57.697654 DEBUG puppetlabs.pxp_agent.action_request:71 - Validating blocking request c31fe902-f525-473f-bdfb-aa5c34dc9198 by pcp://client03.example.com/pegasus-controller:\nENVELOPE: {\"destination_report\":true,\"id\":\"c31fe902-f525-473f-bdfb-aa5c34dc9198\",\"targets\":[\"pcp://*/agent\"],\"message_type\":\"http://puppetlabs.com/rpc_blocking_request\",\"sender\":\"pcp://client03.example.com/pegasus-controller\",\"expires\":\"2016-01-27T12:21:07.649448Z\"}\nDATA: {\"transaction_id\":\"96b3449c-4876-4bef-969f-813e02631827\",\"module\":\"status\",\"action\":\"query\",\"params\":{\"transaction_id\":\"b975838e-5a98-4e52-a97c-c9677a149644\"}}\nDEBUG: {\"hops\":[{\"server\":\"pcp://broker.example.com/server\",\"time\":\"2016-01-27T12:20:57.653Z\",\"stage\":\"accepted\"},{\"server\":\"pcp://broker.example.com/server\",\"time\":\"2016-01-27T12:20:57.658Z\",\"stage\":\"accept-to-queue\"},{\"server\":\"pcp://broker.example.com/server\",\"time\":\"2016-01-27T12:20:57.692Z\",\"stage\":\"deliver\"}]}\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31867", "fixedVersions": ["pxp-agent 1.1.0"], "id": "31867", "issueType": "Improvement", "key": "PCP-255", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-02-03T11:37:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Eliminate redundant log messages", "timeSpent": "PT0S", "updated": "2016-03-17T11:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Have put estimate 3 on this because the test may require disruption to the pcp-broker set up during pre-suite", "created": "2016-01-26T08:53:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Covered by current testing in PE.", "created": "2017-03-01T17:46:00.000000"}], "components": [], "created": "2016-01-26T08:50:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@682e250f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz4473:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Mar/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_34592137342_*|*_6_*:*_1_*:*_0"}], "description": "[C97173|https://testrail.ops.puppetlabs.net/index.php?/cases/view/97173]\n\nCheck out pcp-broker at any/all milestone refs; and ensure that the latest pxp-agent will work with it", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31571", "fixedVersions": [], "id": "31571", "issueType": "Task", "key": "PCP-254", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Done", "resolutionDate": "2017-03-01T17:46:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent acceptance - associate latest pxp-agent with previously released pcp-broker's", "timeSpent": "PT0S", "updated": "2017-03-01T17:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [], "components": ["ruby-pcp-client"], "created": "2016-01-26T06:29:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1af2efc7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Contact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker", "value": "623e76baee1b5a00702a7275"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3qn:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "PCP::Client#connect More strictly asserts the pre-condition it needs."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_6228858_*|*_1_*:*_1_*:*_98730065_*|*_10007_*:*_1_*:*_2840847_*|*_3_*:*_2_*:*_439788601_*|*_10009_*:*_1_*:*_3120_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_162580659_*|*_10006_*:*_1_*:*_672893657"}], "description": "The use of a ruby ConditionVariable in the connect method is susceptible to specific timing issues.\n\nGiven the following small test:\n\n{code}\n#!/usr/bin/env ruby\nrequire 'pcp/client'\n\nThread.new { EM.run }\n\nclient = PCP::Client.new({:ssl_key => 'test-resources/ssl/private_keys/client04.example.com.pem',\n                          :ssl_cert => 'test-resources/ssl/certs/client04.example.com.pem'})\n\nclient.connect\n\nsleep 1\nEM.stop\n{code}\n\nWe periodically will see:\n\n{code}\n/Users/richardc/src/ruby-pcp-client/lib/pcp/client.rb:113:in `sleep': No live threads left. Deadlock? (fatal)\n        from /Users/richardc/src/ruby-pcp-client/lib/pcp/client.rb:113:in `wait'\n        from /Users/richardc/src/ruby-pcp-client/lib/pcp/client.rb:113:in `block (2 levels) in connect'\n        from /Users/richardc/src/ruby-pcp-client/lib/pcp/client.rb:108:in `synchronize'\n        from /Users/richardc/src/ruby-pcp-client/lib/pcp/client.rb:108:in `block in connect'\n        from /Users/richardc/.rubies/ruby-2.1.7/lib/ruby/2.1.0/timeout.rb:75:in `timeout'\n        from /Users/richardc/src/ruby-pcp-client/lib/pcp/client.rb:107:in `connect'\n{code}\n\nRuby's ConditionVariable#wait has an assertion that there must be multiple threads of execution so that we can expect a wake-up to happen, but due to races and the way EM schedules threads it's not safe to do process without checking for EM.reactor_running?\n\nRework the example uses to reflect this.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32219", "fixedVersions": ["ruby-pcp-client 0.2.0"], "id": "32219", "issueType": "Bug", "key": "PCP-253", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2016-02-11T06:40:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Thread logic when called as client.connect(0) is unsound", "timeSpent": "PT0S", "updated": "2017-08-22T17:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2016-01-26T04:34:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@33d49c5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Contact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker", "value": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz444v:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_45119638_*|*_1_*:*_1_*:*_10829_*|*_10007_*:*_1_*:*_2361554_*|*_3_*:*_1_*:*_73661591_*|*_5_*:*_1_*:*_3638669538_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_472223258_*|*_10004_*:*_1_*:*_197067853"}], "description": "Update pxp-agent logic to support the new module interface: update the JSON format of pxp-module-puppet arguments; don't rely on leatherman::execution for writing the outcome of module runs.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31570", "fixedVersions": ["pxp-agent 1.1.0"], "id": "31570", "issueType": "Sub-task", "key": "PCP-252", "labels": [], "originalEstimate": "PT0S", "parent": "31782", "parentSummary": "Improve the way external modules are executed ", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-02-04T08:08:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Update pxp-agent to new module interface", "timeSpent": "PT0S", "updated": "2016-03-17T11:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2016-01-26T04:31:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1f1e4f84"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Contact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker", "value": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b"}, {"fieldName": "QA Highest Test Level", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Acceptance"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Medium"}, {"fieldName": "QA Risk Probability Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Existing pxp-agent acceptance tests of pxp-module-puppet results - however they're not fully implemented yet"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Medium"}, {"fieldName": "QA Risk Severity Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "A bug here may lead to the Puppet run result being wrong or missing."}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz444n:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_53167831_*|*_1_*:*_1_*:*_198089_*|*_10007_*:*_1_*:*_67982531_*|*_3_*:*_1_*:*_197056331_*|*_5_*:*_1_*:*_3638663041_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_472220812"}], "description": "Update pxp-module-puppet by enabling writing results and error messages to both file and output streams. Write exit code to file as well. ", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31497", "fixedVersions": ["pxp-agent 1.1.0"], "id": "31497", "issueType": "Sub-task", "key": "PCP-251", "labels": [], "originalEstimate": "PT0S", "parent": "31782", "parentSummary": "Improve the way external modules are executed ", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-02-04T08:08:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Update pxp-module-puppet to new pxp-agent's module interface", "timeSpent": "PT0S", "updated": "2016-03-17T11:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Verified by altering the \"broker-ws-uri\" value for pxp-agent config to use _wss://\\[broker\\]:8142/pcp/v1_ or _wss://\\[broker\\]:8142/pcp/vNext_\n\nin-reply-to is only included by the broker when the agent connects to vNext\n\nRaised PCP-299 as part of this testing, as pxp-agent did not fail properly when it received in-reply-to in a message from the broker", "created": "2016-02-15T10:28:00.000000"}], "components": ["pcp-broker"], "created": "2016-01-21T10:36:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@322e1c62"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Contact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker", "value": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3qf:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Should call out the vNext endpoint required in the web-routes"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Feb/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_4302_*|*_1_*:*_1_*:*_515928738_*|*_10007_*:*_1_*:*_18285580_*|*_3_*:*_1_*:*_602111252_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_953482409_*|*_10006_*:*_1_*:*_69733464"}], "description": "Our versioning story for the protocol is that the broker will know what protocol version a client supports from the port it connects to. PCP-199 suggests further that this can be a different webapp with a different mountpoint.  PCP-249/PCP-195 underline the need to have this in master now, so we can in theory retarget the changes for PCP-195 to the vNext mountpoint.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31788", "fixedVersions": ["pcp-broker 0.7.0"], "id": "31788", "issueType": "Improvement", "key": "PCP-250", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2016-02-15T10:28:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add multi-version support to the pcp-broker", "timeSpent": "PT0S", "updated": "2016-06-13T10:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2016-01-20T08:02:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2ff79891"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz40db:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_35111426442_*|*_6_*:*_1_*:*_0"}], "description": "Now that we have ruby-pcp-client , there may be common PXP operations that users will want e.g. in pxp-agent acceptance we're already adding an _rpc_blocking_request_ helper method\n\nWe should have a ruby-pxp-client gem that builds on pcp-client and allows a Ruby program to request an action on target(s) and be given a hash of response(s)", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31787", "fixedVersions": [], "id": "31787", "issueType": "New Feature", "key": "PCP-248", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Won't Do", "resolutionDate": "2017-03-01T17:12:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "ruby-pxp-client gem", "timeSpent": "PT0S", "updated": "2017-03-01T17:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "attachments": [], "comments": [{"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "With the commits from https://github.com/richardc/pcp-broker/tree/PCP-247_sighup_tk and a checkout dependency of trapperkeeper at master we're seeing healthy looking restarts on HUP.\n\n{code}\n2016-01-27 15:55:43,733 DEBUG [main] [p.p.b.service] Broker service started\n2016-01-27 15:55:53,240 INFO  [SIGHUP handler] [p.t.s.n.nrepl-service] Shutting down nREPL service\n2016-01-27 15:55:53,242 INFO  [SIGHUP handler] [p.p.b.service] Shutting down broker service\n2016-01-27 15:56:05,859 INFO  [SIGHUP handler] [o.a.a.b.BrokerService] ActiveMQ Message Broker (localhost, ID:seven-54399-1453910143462-0:1) is shutting down\n2016-01-27 15:56:05,862 INFO  [SIGHUP handler] [o.a.a.b.TransportConnector] Connector vm://localhost Stopped\n2016-01-27 15:56:05,870 INFO  [SIGHUP handler] [o.a.a.b.s.JobSchedulerStore] JobSchedulerStore:./test-resources/tmp/activemq/localhost/scheduler stopped\n2016-01-27 15:56:05,871 INFO  [SIGHUP handler] [o.a.a.s.k.p.PListStore] PListStore:[/Users/richardc/src/pcp-broker/./test-resources/tmp/activemq/localhost/tmp_storage ] stopped\n2016-01-27 15:56:05,871 INFO  [SIGHUP handler] [o.a.a.s.k.KahaDBStore] Stopping async queue tasks\n2016-01-27 15:56:05,871 INFO  [SIGHUP handler] [o.a.a.s.k.KahaDBStore] Stopping async topic tasks\n2016-01-27 15:56:05,871 INFO  [SIGHUP handler] [o.a.a.s.k.KahaDBStore] Stopped KahaDB\n2016-01-27 15:56:06,086 INFO  [SIGHUP handler] [o.a.a.b.BrokerService] ActiveMQ JMS Message Broker (localhost, ID:seven-54399-1453910143462-0:1) stopped\n2016-01-27 15:56:06,087 DEBUG [SIGHUP handler] [p.p.b.service] Broker service stopped\n2016-01-27 15:56:06,089 INFO  [SIGHUP handler] [p.t.s.w.jetty9-service] Shutting down web server(s).\n2016-01-27 15:56:06,090 INFO  [SIGHUP handler] [p.t.s.w.jetty9-core] Shutting down web server.\n2016-01-27 15:56:06,096 INFO  [SIGHUP handler] [p.t.s.w.jetty9-core] Web server shutdown\n2016-01-27 15:56:06,101 INFO  [SIGHUP handler] [p.t.s.w.jetty9-service] Initializing web server(s).\n2016-01-27 15:56:06,103 INFO  [SIGHUP handler] [p.p.b.service] Initializing broker service\n2016-01-27 15:56:06,108 INFO  [SIGHUP handler] [p.t.s.s.status-service] Registering status callback function for broker-service service\n2016-01-27 15:56:06,109 INFO  [SIGHUP handler] [p.t.s.n.nrepl-service] Starting nREPL service on 127.0.0.1 port 7888\n2016-01-27 15:56:06,109 INFO  [SIGHUP handler] [p.t.s.w.jetty9-service] Starting web server(s).\n2016-01-27 15:56:06,121 INFO  [SIGHUP handler] [p.t.s.w.jetty9-core] Starting web server.\n2016-01-27 15:56:06,147 INFO  [SIGHUP handler] [p.t.s.s.status-service] Registering status service HTTP API at /status\n2016-01-27 15:56:06,148 INFO  [SIGHUP handler] [p.p.b.service] Starting broker service\n2016-01-27 15:56:06,149 INFO  [SIGHUP handler] [o.a.a.s.k.p.PListStore] PListStore:[/Users/richardc/src/pcp-broker/./test-resources/tmp/activemq/localhost/tmp_storage ] started\n2016-01-27 15:56:06,149 INFO  [SIGHUP handler] [o.a.a.b.BrokerService] Using Persistence Adapter: KahaDBPersistenceAdapter[/Users/richardc/src/pcp-broker/./test-resources/tmp/activemq/localhost/KahaDB]\n2016-01-27 15:56:06,274 INFO  [SIGHUP handler] [o.a.a.s.k.MessageDatabase] KahaDB is version 4\n2016-01-27 15:56:06,276 INFO  [SIGHUP handler] [o.a.a.s.k.MessageDatabase] Recovering from the journal ...\n2016-01-27 15:56:06,276 INFO  [SIGHUP handler] [o.a.a.s.k.MessageDatabase] Recovery replayed 1 operations from the journal in 0.002 seconds.\n2016-01-27 15:56:06,277 INFO  [SIGHUP handler] [o.a.a.b.BrokerService] ActiveMQ 5.6.0 JMS Message Broker (localhost) is starting\n2016-01-27 15:56:06,277 INFO  [SIGHUP handler] [o.a.a.b.BrokerService] For help or more information please see: http://activemq.apache.org/\n2016-01-27 15:56:06,277 INFO  [SIGHUP handler] [o.a.a.b.s.SchedulerBroker] Scheduler using directory: ./test-resources/tmp/activemq/localhost/scheduler\n2016-01-27 15:56:06,278 INFO  [SIGHUP handler] [o.a.k.j.Journal] ignoring zero length, partially initialised journal data file: db-1.log number = 1 , length = 0\n2016-01-27 15:56:06,281 INFO  [SIGHUP handler] [o.a.a.b.s.JobSchedulerStore] JobSchedulerStore:./test-resources/tmp/activemq/localhost/scheduler started\n2016-01-27 15:56:06,285 INFO  [SIGHUP handler] [o.a.a.b.BrokerService] ActiveMQ JMS Message Broker (localhost, ID:seven-54399-1453910143462-0:2) started\n2016-01-27 15:56:06,285 INFO  [SIGHUP handler] [o.a.a.b.TransportConnector] Connector vm://localhost Started\n2016-01-27 15:56:06,286 INFO  [SIGHUP handler] [o.s.j.c.CachingConnectionFactory] Established shared JMS Connection: ActiveMQConnection {id=ID:seven-54399-1453910143462-9:1,clientId=null,started=false}\n2016-01-27 15:56:06,290 INFO  [SIGHUP handler] [o.s.j.c.CachingConnectionFactory] Established shared JMS Connection: ActiveMQConnection {id=ID:seven-54399-1453910143462-11:1,clientId=null,started=false}\n2016-01-27 15:56:06,295 DEBUG [SIGHUP handler] [p.p.b.service] Broker service started\n{code}\n\nFurther checks needed to see if we're leaking any resources.", "created": "2016-01-27T08:56:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "http://www.eclipse.org/mat/ indicates we're leaking no additional memory when restarting with HUP.\n\nThere are 3 suspected leaks, but they are consistent between the pre and post-HUP state.\n\n{code}\nThe class \"clojure.lang.DynamicClassLoader\", loaded by \"sun.misc.Launcher$AppClassLoader @ 0x780136238\", occupies 4,971,936 (12.38%) bytes. The memory is accumulated in one instance of \"java.util.concurrent.ConcurrentHashMap$Segment[]\" loaded by \"<system class loader>\".\n\nKeywords\njava.util.concurrent.ConcurrentHashMap$Segment[]\nclojure.lang.DynamicClassLoader\nsun.misc.Launcher$AppClassLoader @ 0x780136238\n{code}\n\n{code}\nThe thread org.apache.kahadb.journal.DataFileAppender$1 @ 0x7ded2abe0 ActiveMQ Data File Writer keeps local variables with total size 4,203,696 (10.47%) bytes.\n\nThe memory is accumulated in one instance of \"byte[]\" loaded by \"<system class loader>\".\nThe stacktrace of this Thread is available. See stacktrace.\n\n\n\nKeywords\nbyte[]\n{code}\n\n{code}\n252 instances of \"clojure.lang.Namespace\", loaded by \"sun.misc.Launcher$AppClassLoader @ 0x780136238\" occupy 7,918,248 (19.71%) bytes. \n\nKeywords\nclojure.lang.Namespace\nsun.misc.Launcher$AppClassLoader @ 0x780136238\n{code}", "created": "2016-01-28T05:14:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "I believe we're ready to go once trapperkeeper releases this as a final version.", "created": "2016-01-28T05:15:00.000000"}], "components": ["pcp-broker"], "created": "2016-01-19T15:16:00.000000", "creator": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@418edf2e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz403j:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Jan/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_667819656_*|*_3_*:*_1_*:*_73706191_*|*_6_*:*_1_*:*_0"}], "description": "See parent ticket for context.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31569", "fixedVersions": [], "id": "31569", "issueType": "Task", "key": "PCP-247", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "resolution": "Fixed", "resolutionDate": "2016-01-28T05:15:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Scope SIGHUP handling", "timeSpent": "PT0S", "updated": "2016-02-03T09:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["cpp-pcp-client", "pxp-agent"], "created": "2016-01-19T11:18:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@64371021"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz3zkf:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}], "description": "Currently we have Appveyor set to gather curl's package in order to use leatherman's 0.3.5. LTH-76 will deal with such need; we should ensure we don't that anymore once it's done.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32218", "fixedVersions": [], "id": "32218", "issueType": "Task", "key": "PCP-246", "labels": ["maintenance"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Don't get curl package for Appveyor for pxp-agent/cpp-pcp-client", "timeSpent": "PT0S", "updated": "2017-03-06T12:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Tested with pcp-broker 197acbd97541831c5b4ff4c0c46670c86d901ce9\npuppet-agent 1.4.0.202.gadf3cd4\nclj-pxp-puppet 8a08cadcba67478e3d21242eefc6e5550c3ba711", "created": "2016-03-23T11:21:00.000000"}], "components": ["pcp-broker"], "created": "2016-01-19T05:19:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7a6b01ee"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Risk Severity Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Messages would be delivered after their expiry"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hynj0n:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "23/Mar/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_67547234_*|*_1_*:*_1_*:*_3126509508_*|*_10007_*:*_1_*:*_343388869_*|*_3_*:*_1_*:*_346175873_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_22805060_*|*_10006_*:*_1_*:*_1641300404"}], "description": "The current implementation of handling expired messages is done in the 'message could not be delivered' codepath.\n\nThis means if a message is clearly expired, but the recipient identity is currently logged in, the message will be delivered.  This is not intended.\n\nMove the check for message expiry forward into the message accept and message delivery codepaths.  The check in the failure codepath can probably stay as an optimisation (don't queue an expired message for re-delivery, if the expiry falls at the time that the delivery was attempted) though the check at the start of delivery should catch it.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31568", "fixedVersions": ["pcp-broker 0.7.1"], "id": "31568", "issueType": "Bug", "key": "PCP-245", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2016-03-23T11:21:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Expired messages are likely to be delivered", "timeSpent": "PT0S", "updated": "2016-08-03T12:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["cpp-pcp-client", "pxp-agent"], "created": "2016-01-15T14:03:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7d0f31a0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz4033:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1021867771_*|*_10007_*:*_1_*:*_424711_*|*_3_*:*_1_*:*_531094022_*|*_10009_*:*_1_*:*_95589831_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_579422196"}], "description": "Consider removing the Makefile for both projects.\nAdd documentation about pre-building / building / installing the C++ components in facter's style.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32029", "fixedVersions": [], "id": "32029", "issueType": "Task", "key": "PCP-244", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-02-10T09:03:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add building documentation to pxp-agent and cpp-pcp-client", "timeSpent": "PT0S", "updated": "2016-02-10T09:03:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2016-01-14T09:30:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@53c8d539"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz3x53:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_15816042059_*|*_5_*:*_2_*:*_30046_*|*_10006_*:*_1_*:*_125220_*|*_10005_*:*_2_*:*_423691792"}], "description": "While testing PCP-237 I tried using the following pxp-agent.conf\n{noformat}{\"broker-ws-uri\":\"wss://svz1brv9229vclv.delivery.puppetlabs.net:8142/pcp/\",\"ssl-key\":\"/tmp/test-ssl.PkZAHK/ssl/private_keys/client01.example.com.pem\",\"ssl-ca-cert\":\"/tmp/test-ssl.PkZAHK/ssl/ca/ca_crt.pem\",\"ssl-cert\":\"/tmp/test-ssl.PkZAHK/ssl/certs/client01.example.com.pem\",\"modules-dir\":\"~/modules\"}{noformat}\n\nIf I execute _/opt/puppetlabs/puppet/bin/pxp-agent_ then pxp-agent starts running; sets the modules dir as /root/modules, and associates\n\n{noformat}2016-01-14 08:02:28.105812 INFO  puppetlabs.pxp_agent.request_processor:396 - Loading external modules configuration from /etc/puppetlabs/pxp-agent/modules\n2016-01-14 08:02:28.106220 INFO  puppetlabs.pxp_agent.request_processor:436 - Loading external modules from /root/modules\n2016-01-14 08:02:28.297704 INFO  puppetlabs.cpp_pcp_client.connection:364 - Successfully established a WebSocket connection with the PCP broker\n2016-01-14 08:02:28.298101 INFO  puppetlabs.cpp_pcp_client.connector:295 - Sending Associate Session request\n2016-01-14 08:02:28.354724 INFO  puppetlabs.cpp_pcp_client.connector:362 - Received associate session response 1fc08542-48a2-408f-a2c9-0fe8033e2694 from pcp:///server for request 0377e33c-74e2-4032-be40-b15f8738c158: success{noformat}\n\nHowever, if I kill pxp-agent and then start it as a service ( _service pxp-agent start_ or _puppet resource service pxp-agent ensure=running_ ) then the modules-dir is not expanded:\n{noformat}2016-01-14 08:03:37.249254 WARN  leatherman.file_util:110 - HOME has not been set\n2016-01-14 08:03:37.249706 ERROR puppetlabs.pxp_agent.main:179 - Fatal configuration error: modules-dir '/modules'' does not exist; cannot start pxp-agent{noformat}\npxp-agent fails to start", "environment": "Redhat7 pcp-broker, Ubuntu 14.04 pxp-agent", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31899", "fixedVersions": [], "id": "31899", "issueType": "Bug", "key": "PCP-243", "labels": ["puppethack"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Won't Fix", "resolutionDate": "2016-07-20T09:35:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "~ symbol in pxp-agent.conf can't be expanded when pxp-agent started as a service", "timeSpent": "PT0S", "updated": "2016-07-20T09:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["protocol"], "created": "2016-01-13T12:28:00.000000", "creator": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3dfee83b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hynhcv:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "the next version of the PCP protocol specification adds a definition of an `unauthorized` message which must be sent by the broker whenever a message fails authorization"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1200375417_*|*_3_*:*_1_*:*_177538391_*|*_10009_*:*_1_*:*_72009635_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_5952790092"}], "description": "Some context:\nCurrently when a message fails authorization, it is silently discarded by the broker.\nNewly the broker should respond with an {{authorization denied}} type message. We need to specify this message type. Note that there should be no information beyond the fact that the original message failed authorization in the error message so as not to give the client a clue for possible vectors of attack.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31683", "fixedVersions": [], "id": "31683", "issueType": "Improvement", "key": "PCP-242", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "resolution": "Done", "resolutionDate": "2016-04-08T05:47:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add authorization denied message type to PCP specs", "timeSpent": "PT0S", "updated": "2016-05-11T17:41:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2016-01-13T06:38:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2a45b4cf"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Contact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker", "value": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b"}, {"fieldName": "QA Highest Test Level Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Should not need new tests as there is no new functionality"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "High"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz3w2n:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_354657958_*|*_1_*:*_1_*:*_182390893_*|*_3_*:*_1_*:*_506879760_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_156736411"}], "description": "Resolve differences between stable and master branches regarding symbol export changes and merge stable (1.0.2) into master. Fixes to configuration.cc on stable should be ported manually since the \"unconfigured mode\" variant has been removed from master.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32125", "fixedVersions": [], "id": "32125", "issueType": "Improvement", "key": "PCP-241", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-01-27T04:09:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Resolve pxp-agent's divergence between master and stable for symbol exports", "timeSpent": "PT0S", "updated": "2016-01-27T04:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "body": "[~accountid:557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced] Does this ticket need a QA evaluation before resolving it?", "created": "2016-01-19T13:41:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "[~accountid:557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c], no QA eval needed. You are free to resolve.", "created": "2016-01-19T14:19:00.000000"}], "components": ["pxp-agent"], "created": "2016-01-13T06:08:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1508ade3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyonz3:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The interface between pxp-agent and its modules will be formalized by defining JSON schemas for input/output and configuration data as well as the operation requirements for modules regarding executing actions (provide the module metadata whenever a module is invoked without arguments; processing of stdout/err/in streams) and pxp-agent guarantees regarding accessing outcome files."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "19/Jan/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_13743052_*|*_10007_*:*_1_*:*_2286159_*|*_3_*:*_1_*:*_170386914_*|*_10009_*:*_1_*:*_430535288_*|*_5_*:*_1_*:*_5258688544_*|*_6_*:*_1_*:*_0"}], "description": "Formalize and improve pxp-agent's module interface, in order to enable writing the outcome of non-blocking tasks to file.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31682", "fixedVersions": [], "id": "31682", "issueType": "Improvement", "key": "PCP-240", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-03-21T07:16:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Formalize and improve pxp-agent's modules interface", "timeSpent": "PT0S", "updated": "2016-03-21T07:16:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2016-01-13T03:17:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3bc24305"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz403b:"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Component or system tests are required."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_8693326_*|*_1_*:*_1_*:*_1233479612_*|*_10007_*:*_1_*:*_57331260_*|*_3_*:*_1_*:*_464124902_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_11234206_*|*_10006_*:*_1_*:*_61748320"}], "description": "Currently we don't test the interface towards configuration files of external modules. Fix this by adding component or system tests.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32196", "fixedVersions": [], "id": "32196", "issueType": "Improvement", "key": "PCP-239", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-02-03T09:27:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Test processing of modules' config files in pxp-agent ", "timeSpent": "PT0S", "updated": "2016-02-03T09:27:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Since we shipped with internal default behavior for pxp-module-puppet, this was only an issue if providing your own pxp-module-puppet.conf?", "created": "2016-01-12T15:37:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "True, we don't ship a config file for pxp-module-puppet. Nonetheless it's broken. ", "created": "2016-01-12T15:42:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Needs a ticket filed for a system test of finding module config files.", "created": "2016-01-12T16:01:00.000000"}], "components": ["pxp-agent"], "created": "2016-01-12T12:33:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4b9eaadb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hynrjb:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "pxp-agent looks for module configuration files with \".cfg\" suffix instead of \".conf\", as indicated in pxp-agent's README and in puppet-specification's paths.md."}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Shipping this with puppet-agent 1.3.3."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Jan/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_44455440_*|*_1_*:*_1_*:*_22223_*|*_10007_*:*_1_*:*_11474622_*|*_3_*:*_1_*:*_953225_*|*_5_*:*_1_*:*_1035957505_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_99881440"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31492", "fixedVersions": ["pxp-agent 1.0.2"], "id": "31492", "issueType": "Bug", "key": "PCP-238", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-01-14T08:06:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent uses .cfg suffix instead of .conf when looking for module config files", "timeSpent": "PT0S", "updated": "2016-01-26T07:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Tested in puppet-agent (stable) 32cf1a89a03ab60a5b8572d26eeb27e11d28893f that includes pxp-agent 1.0.1-32-g0c40d11\n\nOn Ubuntu 14.04 , when the config includes \"modules-dir\":\"~/modules\" , starting pxp-agent (as an executable in the Puppet bin folder) , you can see the module dir get expanded and pxp-agent start up successfully:\n\n{noformat}2016-01-14 08:02:28.105812 INFO  puppetlabs.pxp_agent.request_processor:396 - Loading external modules configuration from /etc/puppetlabs/pxp-agent/modules\n2016-01-14 08:02:28.106220 INFO  puppetlabs.pxp_agent.request_processor:436 - Loading external modules from /root/modules\n2016-01-14 08:02:28.297704 INFO  puppetlabs.cpp_pcp_client.connection:364 - Successfully established a WebSocket connection with the PCP broker\n2016-01-14 08:02:28.298101 INFO  puppetlabs.cpp_pcp_client.connector:295 - Sending Associate Session request\n2016-01-14 08:02:28.354724 INFO  puppetlabs.cpp_pcp_client.connector:362 - Received associate session response 1fc08542-48a2-408f-a2c9-0fe8033e2694 from pcp:///server for request 0377e33c-74e2-4032-be40-b15f8738c158: success{noformat}\n\nI did notice that this does not work when starting pxp-agent as a service, seemingly because there is no HOME in the environment in which a service starts up?\n{noformat}2016-01-14 08:03:37.249254 WARN  leatherman.file_util:110 - HOME has not been set\n2016-01-14 08:03:37.249706 ERROR puppetlabs.pxp_agent.main:179 - Fatal configuration error: modules-dir '/modules'' does not exist", "created": "2016-01-14T09:46:00.000000"}], "components": ["pxp-agent"], "created": "2016-01-12T04:44:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@64a85d07"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hynrjz:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Fix the way --modules-dir option values are parsed."}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Fix this for puppet-agent 1.3.z"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Jan/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_46152718_*|*_1_*:*_1_*:*_19753_*|*_10007_*:*_1_*:*_10737070_*|*_3_*:*_1_*:*_28146225_*|*_5_*:*_1_*:*_1030007046_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_105833108"}], "description": "Use a configuration file with a modules-dir having a path relative to \"~\".\n\n**bug**\n\npxp-agent won't be able to find the modules dir, as reported in logs.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31490", "fixedVersions": ["pxp-agent 1.0.2"], "id": "31490", "issueType": "Bug", "key": "PCP-237", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-01-14T09:46:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent does not expand correctly --modules-dir value", "timeSpent": "PT0S", "updated": "2016-07-06T17:59:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "PA-139 is now resolved.", "created": "2016-02-16T08:16:00.000000"}], "components": ["pxp-agent", "QA"], "created": "2016-01-11T14:22:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3030a37d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3cf:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/Jan/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1366322031_*|*_3_*:*_1_*:*_333340514_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_3_*:*_8384380508_*|*_10006_*:*_2_*:*_348006874"}], "description": "This is to tackle as a post-commit review the suggestions made by [~accountid:557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715] for https://github.com/puppetlabs/pxp-agent/pull/288 (on #stable).", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31786", "fixedVersions": [], "id": "31786", "issueType": "Improvement", "key": "PCP-236", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Won't Do", "resolutionDate": "2016-05-11T09:10:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Update pxp-agent acceptance rake tasks, env and beaker workflows to match new puppet-agent (PA-139)", "timeSpent": "PT0S", "updated": "2016-05-11T09:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [], "components": ["pxp-agent", "QA"], "created": "2016-01-11T04:45:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@617fb3b8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz401z:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_139542903_*|*_1_*:*_1_*:*_1221241869_*|*_10007_*:*_1_*:*_623551400_*|*_3_*:*_1_*:*_8571603_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_93002628"}], "description": "Closing this PR due to inactivity and several changes in it being already completed in the meantime:\nhttps://github.com/puppetlabs/pxp-agent/pull/261\n\nThere are 2-3 improvements in this PR that are not yet in the acceptance suite - this ticket is to make sure we get these tidy-ups in", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31567", "fixedVersions": [], "id": "31567", "issueType": "Task", "key": "PCP-235", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Minor", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-02-04T08:10:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent acceptance improvements as per PR 261", "timeSpent": "PT0S", "updated": "2016-02-25T02:59:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Update to our repos:\npcp-broker: https://github.com/puppetlabs/pcp-broker/pull/98\npxp-agent (master): https://github.com/puppetlabs/pxp-agent/pull/286\npxp-agent (stable): https://github.com/puppetlabs/pxp-agent/pull/287\nclj-pcp-client: https://github.com/puppetlabs/clj-pcp-client/pull/36\nclj-pxp-puppet: https://github.com/puppetlabs/clj-pxp-puppet/pull/59\npegasus (master): https://github.com/puppetlabs/pegasus/pull/195\npegasus (stable): n/a does not have any certs\ncpp-pcp-client tutorial/resources (master): https://github.com/puppetlabs/cpp-pcp-client/pull/130\ncpp-pcp-client tutorial/resources (stable): https://github.com/puppetlabs/cpp-pcp-client/pull/131", "created": "2016-01-07T08:26:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "clj-pcp-client, clj-pxp-puppet, pegasus, and cpp-client (in tutorial/resources) need the same cert updates", "created": "2016-01-07T10:18:00.000000"}, {"author": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "body": "[~accountid:557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c] running down a fixVersion for all the components seems not worth the effort since this is also a testing-only change with no release notes needed.", "created": "2016-01-21T17:28:00.000000"}, {"author": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "body": "Thanks. I will mark this one as \"ignore\" in my notes for the purposes of the reconciliation release step.", "created": "2016-01-25T10:55:00.000000"}], "components": ["pcp-broker", "QA"], "created": "2016-01-07T05:25:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@41179803"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Contact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker", "value": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz3stj:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Needed for ticket already in spring PCP-188"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/Jan/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_7220734_*|*_3_*:*_1_*:*_103681037_*|*_10009_*:*_2_*:*_420503300_*|*_5_*:*_1_*:*_1144755576_*|*_6_*:*_1_*:*_0"}], "description": "We currently have 5x \"client\" certs in test-resources/ssl\nAcceptance testing may use up all of these identities if 5 agent hosts are specified in beaker\n\nTo add a pcp-client to the acceptance setup; it should have its own controller cert/key\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31681", "fixedVersions": [], "id": "31681", "issueType": "Task", "key": "PCP-234", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-01-13T09:02:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add SSL identities for controller clients to test-resource/ssl", "timeSpent": "PT0S", "updated": "2016-01-26T15:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [{"author": "557058:e2510a0a-1767-444f-be52-bae9bb15d3f6", "body": "[~accountid:557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b], I can do a PR for master, [~accountid:63d40628f6e1b543161789a7], just merged stable with master to bring these changes in.  I'm surprised the same method isn't being used here.\n\nUnless there is a NetDev support requirement from pxp-agent I'm not aware of, no, the pxp-agent tests don't need to be checked on Arista.", "created": "2016-01-07T07:47:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "FWIW, I merged facter and hiera stable to master, but haven't touched pxp-agent.", "created": "2016-01-07T09:01:00.000000"}, {"author": "557058:e2510a0a-1767-444f-be52-bae9bb15d3f6", "body": "Fix merged", "created": "2016-01-14T11:15:00.000000"}], "components": [], "created": "2016-01-06T14:10:00.000000", "creator": "557058:e2510a0a-1767-444f-be52-bae9bb15d3f6", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@31e8bb6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hynrj3:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "ci failure"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "07/Jan/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_55830899_*|*_1_*:*_1_*:*_341582_*|*_10007_*:*_1_*:*_513166419_*|*_3_*:*_1_*:*_181014_*|*_5_*:*_1_*:*_1024611793_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_111224799"}], "description": "The PXP Acceptance tests need to have the same options the Puppet Acceptance test has for support of the Arista EOS platform", "environment": "AIO Puppet Agent CI Pipeline", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31566", "fixedVersions": ["pxp-agent 1.0.2"], "id": "31566", "issueType": "Task", "key": "PCP-233", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:e2510a0a-1767-444f-be52-bae9bb15d3f6", "resolution": "Fixed", "resolutionDate": "2016-01-14T11:15:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add support for Arista EOS to PXP acceptance tests", "timeSpent": "PT0S", "updated": "2016-01-26T07:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "There's a failure on OSX 10.10 and OSX 10.11 that might be a shortcoming in the test code:\nhttps://jenkins-staging.delivery.puppetlabs.net/job/platform_aio-suite_stage-intn_pxp-agent-jamesstocks/8/SLAVE_LABEL=beaker,TEST_TARGET=osx1010-64a/console\n\n{code}Errored Tests Cases:\n          Test Case tests/pxp-module-puppet/restart_pxp_agent_during_non_blocking_run.rb reported: #<Beaker::Host::CommandFailure: Host 'bhb21epo7m1qha0.delivery.puppetlabs.net' connection failure running:\n         kill SIGALARM 0\n        Last 10 lines of output were:\n        \tsh: line 0: kill: SIGALARM: arguments must be process or job IDs>{code}", "created": "2016-02-18T07:32:00.000000"}, {"author": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "body": "Do not test on windows until that work is unblocked. Close this ticket, and create one for the windows test.", "created": "2016-03-23T09:22:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Current code for this ticket is at https://github.com/james-stocks/pxp-agent/tree/PCP-230stable\n\nRemaining items:\n * Ensure test works on Windows2008R2-6432a\n * PUP-5806 suggests how to have a neater Puppet manifest for Windows\n * Consider adding teardown code to terminate puppet agent if it is running - if the test currently fails and leaves puppet agent hanging on a long running sleep process", "created": "2016-04-20T10:04:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "[~accountid:557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b] note if you put a reference to a ticket in testrail (in the references field), it creates the link to the testcase in the ticket automatically.", "created": "2016-04-27T15:20:00.000000"}, {"author": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "body": "Closing as part of pxp-agent 1.1.3 release tasks", "created": "2016-05-17T16:33:00.000000"}], "components": ["pxp-agent", "QA"], "created": "2016-01-05T08:17:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1ad43dde"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hynfbj:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "This ticket satisfies the QA for PCP-207 which is being implemented in this sprint"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "23/Mar/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_331620869_*|*_1_*:*_1_*:*_2333749018_*|*_10007_*:*_1_*:*_632034579_*|*_3_*:*_2_*:*_770009765_*|*_5_*:*_1_*:*_1224718322_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_96225561_*|*_10004_*:*_1_*:*_5359375662_*|*_10006_*:*_1_*:*_769623503"}], "description": "https://testrail.ops.puppetlabs.net/index.php?/cases/view/94705", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32024", "fixedVersions": ["pxp-agent 1.1.3"], "id": "32024", "issueType": "Task", "key": "PCP-230", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-05-03T12:21:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent acceptance - run Puppet and restart pxp-agent service during run", "timeSpent": "PT0S", "updated": "2016-05-18T10:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "Something in the range 400-600 would  be correct as it follows this guidance from https://github.com/puppetlabs/trapperkeeper-authorization/blob/master/doc/authorization-config.md\n\n{quote}\nA block in the middle of the sort-order range - from 400 to 600 (inclusive) is reserved for use by Puppet, e.g., for the default rules delivered with a package. Rules from 1 to 399 (inclusive) are reserved for users to insert custom rules ahead of any default Puppet ones and from 601 to 998 (inclusive) for inserting custom rules behind any default Puppet ones.\n{quote}\n\nThough it does raise the question of what range should PE be managing, 1-399 (as it's not strictly from a package), though also it's not really user-controlled (it's more on-behalf-of)", "created": "2016-01-04T05:45:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "[~accountid:557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920], can this be opened, now?", "created": "2016-07-06T18:00:00.000000"}], "components": [], "created": "2015-12-22T16:41:00.000000", "creator": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@649ee510"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz3o9r:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Changes the default rule sort-order from 1 to 400."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "04/Jan/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_620927_*|*_1_*:*_1_*:*_1774757028_*|*_10007_*:*_1_*:*_2080801_*|*_3_*:*_1_*:*_486495_*|*_10009_*:*_1_*:*_95326115_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_2698"}], "description": "The pcp-broker default authorization.conf allows all pcp traffic and is at sort-order 1 (highest priority). This means that any application that wants to include pcp-broker but fine-tune permissions has to both add additional rules *and* modify the default rule.\n\nThe suggestion here is that we modify the sort-order in the default authorization.conf to be, say, 600, so  that applications which want to fine-tune permissions can simply add rules, but aren't also required to modify the default rule's sort-order.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31784", "fixedVersions": ["pcp-broker 0.7.0"], "id": "31784", "issueType": "Improvement", "key": "PCP-222", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "resolution": "Fixed", "resolutionDate": "2016-01-13T09:02:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pcp-broker default configuration should allow overrides", "timeSpent": "PT0S", "updated": "2017-08-22T17:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "attachments": [], "comments": [{"author": "557058:093475a3-6bc8-4a70-8034-ae5a2ea66512", "body": "Closing as won't fix as the output seen in the description is produced by {{pxp-module-puppet}} itself in case it cannot execute puppet agent (or when it's execution returns a nonzero status). Throwing an exception in such a situation seems like a sensible approach.\nMoreover the pxp-agent was improved to handle empty response from module gracefully: https://github.com/puppetlabs/pxp-agent/pull/314", "created": "2016-02-01T06:33:00.000000"}], "components": ["pxp-agent"], "created": "2015-12-17T12:22:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1b110a2d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Contact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker", "value": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz4027:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "01/Feb/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2908244911_*|*_3_*:*_2_*:*_848141140_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_197070732"}], "description": "Start pxp-agent not as su and trigger a pxp-module-puppet with your favourite PXP controller.\n\n*bug*\n\npxp-agent logs the following, from which is evident that an execution error is not properly handled (the error stack trace ends up generating a wrongly formatted JSON output, due to the lack of error handling):\n\n\n{code}\n2015-12-17 15:56:16.500676 INFO  puppetlabs.pxp_agent.pxp_connector:146 - Sent provisional response for request c26ab035-9cff-4ea0-a58c-587624a39a5c by pcp://client03.example.com/pegasus-controller, transaction e733bbc5-6e60-4255-85fe-52519f63e9d1\n2015-12-17 15:56:16.500730 DEBUG puppetlabs.pxp_agent.request_processor:284 - The non blocking request c26ab035-9cff-4ea0-a58c-587624a39a5c by pcp://client03.example.com/pegasus-controller, transaction e733bbc5-6e60-4255-85fe-52519f63e9d1, has been successfully processed\n2015-12-17 15:56:16.500939 DEBUG leatherman.execution:88 - executing command: /Users/alessandro/code/pxp-agent/modules/pxp-module-puppet run\n2015-12-17 15:56:18.100632 DEBUG puppetlabs.cpp_pcp_client.connector:440 - Sending heartbeat ping\n2015-12-17 15:56:18.101201 DEBUG puppetlabs.cpp_pcp_client.connection:371 - WebSocket onPong event\n2015-12-17 15:56:18.705893 DEBUG !!! - /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/execution.rb:232:in `execute': Execution of '/opt/puppetlabs/bin/puppet agent --configprint lastrunreport' returned 1: Error: Could not initialize global default settings: couldn't find HOME environment -- expanding `~' (Puppet::ExecutionFailure)\n2015-12-17 15:56:18.706003 DEBUG !!! - \tfrom /Users/alessandro/code/pxp-agent/modules/pxp-module-puppet:42:in `check_config_print'\n2015-12-17 15:56:18.706044 DEBUG !!! - \tfrom /Users/alessandro/code/pxp-agent/modules/pxp-module-puppet:78:in `get_result_from_report'\n2015-12-17 15:56:18.706090 DEBUG !!! - \tfrom /Users/alessandro/code/pxp-agent/modules/pxp-module-puppet:136:in `start_run'\n2015-12-17 15:56:18.706129 DEBUG !!! - \tfrom /Users/alessandro/code/pxp-agent/modules/pxp-module-puppet:229:in `run'\n2015-12-17 15:56:18.706172 DEBUG !!! -\n\tfrom /Users/alessandro/code/pxp-agent/modules/pxp-module-puppet:240:in `<main>'\n2015-12-17 15:56:18.743990 DEBUG !!! -\n\n2015-12-17 15:56:18.744146 DEBUG leatherman.execution:555 - process exited with status code 1.\n2015-12-17 15:56:18.744421 TRACE puppetlabs.pxp_agent.external_module:134 - Successfully read error file '/opt/puppetlabs/pxp-agent/spool/e733bbc5-6e60-4255-85fe-52519f63e9d1/stderr'\n2015-12-17 15:56:18.744519 TRACE puppetlabs.pxp_agent.external_module:147 - Output file '/opt/puppetlabs/pxp-agent/spool/e733bbc5-6e60-4255-85fe-52519f63e9d1/stdout' of 'pxp-module-puppet run' is empty\n2015-12-17 15:56:18.744570 DEBUG puppetlabs.pxp_agent.external_module:259 - 'pxp-module-puppet run' produced no output\n2015-12-17 15:56:18.744621 ERROR puppetlabs.pxp_agent.external_module:267 - 'pxp-module-puppet run' failure, returned 1; error: /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/execution.rb:232:in `execute': Execution of '/opt/puppetlabs/bin/puppet agent --configprint lastrunreport' returned 1: Error: Could not initialize global default settings: couldn't find HOME environment -- expanding `~' (Puppet::ExecutionFailure)\n\tfrom /Users/alessandro/code/pxp-agent/modules/pxp-module-puppet:42:in `check_config_print'\n\tfrom /Users/alessandro/code/pxp-agent/modules/pxp-module-puppet:78:in `get_result_from_report'\n\tfrom /Users/alessandro/code/pxp-agent/modules/pxp-module-puppet:136:in `start_run'\n\tfrom /Users/alessandro/code/pxp-agent/modules/pxp-module-puppet:229:in `run'\n\n\tfrom /Users/alessandro/code/pxp-agent/modules/pxp-module-puppet:240:in `<main>'\n\n\n\n2015-12-17 15:56:18.744683 ERROR puppetlabs.pxp_agent.external_module:282 - 'pxp-module-puppet run' output is not valid JSON: invalid json\n2015-12-17 15:56:18.744753 ERROR puppetlabs.pxp_agent.request_processor:198 - Failed to execute 'pxp-module-puppet run' e733bbc5-6e60-4255-85fe-52519f63e9d1: 'pxp-module-puppet run' returned invalid JSON - stderr: /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/execution.rb:232:in `execute': Execution of '/opt/puppetlabs/bin/puppet agent --configprint lastrunreport' returned 1: Error: Could not initialize global default settings: couldn't find HOME environment -- expanding `~' (Puppet::ExecutionFailure)\n\tfrom /Users/alessandro/code/pxp-agent/modules/pxp-module-puppet:42:in `check_config_print'\n\tfrom /Users/alessandro/code/pxp-agent/modules/pxp-module-puppet:78:in `get_result_from_report'\n\tfrom /Users/alessandro/code/pxp-agent/modules/pxp-module-puppet:136:in `start_run'\n\tfrom /Users/alessandro/code/pxp-agent/modules/pxp-module-puppet:229:in `run'\n\n\tfrom /Users/alessandro/code/pxp-agent/modules/pxp-module-puppet:240:in `<main>'\n\n\n\n2015-12-17 15:56:18.744824 DEBUG puppetlabs.cpp_pcp_client.connector:251 - Creating message with id f9ee531f-1c83-48bf-9b14-d312d01034d1 for 1 receiver\n2015-12-17 15:56:18.744892 DEBUG puppetlabs.cpp_pcp_client.connector:173 - Sending message of 1203 bytes:\n1size: 246 bytes - content: {\"id\":\"f9ee531f-1c83-48bf-9b14-d312d01034d1\",\"message_type\":\"http://puppetlabs.com/rpc_error_message\",\"targets\":[\"pcp://client03.example.com/pegasus-controller\"],\"expires\":\"2015-12-17T15:56:20.744810Z\",\"sender\":\"pcp://client04.example.com/agent\"}size: 946 bytes - content: {\"transaction_id\":\"e733bbc5-6e60-4255-85fe-52519f63e9d1\",\"id\":\"c26ab035-9cff-4ea0-a58c-587624a39a5c\",\"description\":\"'pxp-module-puppet run' returned invalid JSON - stderr: /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/execution.rb:232:in `execute': Execution of '/opt/puppetlabs/bin/puppet agent --configprint lastrunreport' returned 1: \\u001B[1;31mError: Could not initialize global default settings: couldn't find HOME environment -- expanding `~'\\u001B[0m (Puppet::ExecutionFailure)\\n\\tfrom /Users/alessandro/code/pxp-agent/modules/pxp-module-puppet:42:in `check_config_print'\\n\\tfrom /Users/alessandro/code/pxp-agent/modules/pxp-module-puppet:78:in `get_result_from_report'\\n\\tfrom /Users/alessandro/code/pxp-agent/modules/pxp-module-puppet:136:in `start_run'\\n\\tfrom /Users/alessandro/code/pxp-agent/modules/pxp-module-puppet:229:in `run'\\n\\n\\tfrom /Users/alessandro/code/pxp-agent/modules/pxp-module-puppet:240:in `<main>'\\n\\n\\n\"}\n{code}\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31823", "fixedVersions": ["pxp-agent 1.1.0"], "id": "31823", "issueType": "Bug", "key": "PCP-219", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Minor", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Won't Fix", "resolutionDate": "2016-02-01T06:33:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-module-puppet does not handle execution errors", "timeSpent": "PT0S", "updated": "2016-02-01T06:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2015-12-17T07:11:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@48e56d1b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz3m3r:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Found by QA while testing PCP-177"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_124392_*|*_10007_*:*_1_*:*_650667_*|*_3_*:*_1_*:*_2240574_*|*_10009_*:*_1_*:*_89812055_*|*_5_*:*_1_*:*_7434875810_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_348008991"}], "description": "{quote}  --connection-timeout <int>  Timeout (in seconds) for establishing a websocket\n                              connection. 0 disables, default: 5{quote}\n\nThis text suggests that a value of 0 has some special behaviour where something is disabled.\nThe logging from pxp-agent suggests that the agent uses the value 0 the same way it uses any other value, without special meaning\n\ne.g.\n{noformat}2015-12-17 05:59:52.346164 INFO  puppetlabs.cpp_pcp_client.connection:316 - Connecting to 'wss://hcuaggmhy89ohtp.delivery.puppetlabs.net:8142/pcp/' with a connection timeout of 0 ms\n2015-12-17 05:59:52.347808 WARN  puppetlabs.cpp_pcp_client.connection:360 - WebSocket on fail event (connection loss): status code 1006 - Underlying Transport Error\n2015-12-17 05:59:52.546512 WARN  puppetlabs.cpp_pcp_client.connection:196 - Failed to establish a WebSocket connection; retrying in 2 seconds{noformat}\nversus\n{noformat}2015-12-17 05:57:05.006425 INFO  puppetlabs.cpp_pcp_client.connection:316 - Connecting to 'wss://hcuaggmhy89ohtp.delivery.puppetlabs.net:8142/pcp/' with a connection timeout of 15000 ms\n2015-12-17 05:57:05.008115 WARN  puppetlabs.cpp_pcp_client.connection:360 - WebSocket on fail event (connection loss): status code 1006 - Underlying Transport Error\n2015-12-17 05:57:20.014678 WARN  puppetlabs.cpp_pcp_client.connection:196 - Failed to establish a WebSocket connection; retrying in 2 seconds{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31564", "fixedVersions": ["pxp-agent 1.1.1"], "id": "31564", "issueType": "Bug", "key": "PCP-218", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Minor", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2015-12-22T09:38:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent --help text for connection-timeout suggests value of 0 is a special case", "timeSpent": "PT0S", "updated": "2016-03-17T11:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "body": "[~accountid:557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b] do you have any test to do on this? If not, let's just resolve it.", "created": "2015-12-22T16:52:00.000000"}], "components": ["cpp-pcp-client"], "created": "2015-12-17T06:40:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1e6515a2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Contact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker", "value": "623e76baee1b5a00702a7275"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz3m3j:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Found while improving PCP client components"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/Dec/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_768860_*|*_1_*:*_1_*:*_4379_*|*_10007_*:*_1_*:*_1304989_*|*_3_*:*_1_*:*_20535729_*|*_5_*:*_1_*:*_7365876959_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_489080201"}], "description": "The optional in-reply-to (soon to become in_reply_to) envelope entry will be used in a number of PCP messages created by the PCP broker (see PCP-195); PCP clients will need to keep track of the IDs of sent messages to match against that entry and implement client/broker transactions at PCP layer. Is then important that the Connector interface provides the ID when a new message is created.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31488", "fixedVersions": ["cpp-pcp-client 1.1.0"], "id": "31488", "issueType": "Improvement", "key": "PCP-217", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2015-12-23T04:48:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Connector::send should return the message ID when creating a message", "timeSpent": "PT0S", "updated": "2016-03-17T11:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "[~accountid:557058:29f801b5-e0f5-4278-a19b-0e5101f2094d] I'm using \"Ready for merge\" as a review state for this.  I think specs PR#28 (merged) covers point 1,  PCP-290 for point 2, PCP-242 for point 3.", "created": "2016-02-11T03:56:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "(y)\n\nWill close this ticket.", "created": "2016-02-11T04:45:00.000000"}], "components": ["protocol"], "created": "2015-12-10T07:02:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4ed73744"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3lb:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/Feb/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_4157566488_*|*_10007_*:*_1_*:*_3149665_*|*_3_*:*_1_*:*_156496056_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1117820252"}], "description": "Consider the following, investigate improvements, and create new tickets.\n\n1) in the Session Association section, we don\u2019t have an explicit error handling section. Instead, we refer to the old PCP error message schema, where we used to have a \u201cmessage_type\u201d entry in the data content; we don\u2019t have that anymore, as we use only the id of the relevant message that triggered the error. That must be updated.\n\n2) PCP error messages can be sent by both broker (message cannot be parsed; bad envelope) and client (message data cannot be parsed - the client cannot extract the transaction_id necessary for a PXP error message)  endpoints. Should we discriminate the PCP error message origin, in order to specify where the actual error happened (broker vs client)? Otherwise, in-reply-to / destination semantics will not be clear.\n\n3) pcp-broker offers authorization: https://github.com/puppetlabs/pcp-broker/blob/master/doc/authorization.md. This service is not formalized in the specs (consider creating a Jira ticket for that) and it should require an error message (from the broker to the unauthorized controller requester).\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32194", "fixedVersions": [], "id": "32194", "issueType": "Improvement", "key": "PCP-211", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Done", "resolutionDate": "2016-02-11T04:46:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Ticket how to improve PCP error messages", "timeSpent": "PT0S", "updated": "2016-02-11T04:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "No pressing need for improvement.", "created": "2017-03-01T14:50:00.000000"}], "components": ["cpp-pcp-client"], "created": "2015-12-10T06:58:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@448e767d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2nuf:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "01/Mar/17"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_38649119705_*|*_6_*:*_1_*:*_0"}], "description": "cpp-pcp-client uses valijson to validate JSON schemas. Currently we are only able to do simple type validations. We need to expand on this allowing for more complex validations like we use in the pcp-broker.\n\nDetermine if valijson is capable of doing this and then extend the Validator class to allow for more complex validation. Otherwise, consider replacing it.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32123", "fixedVersions": [], "id": "32123", "issueType": "Improvement", "key": "PCP-210", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Won't Do", "resolutionDate": "2017-03-01T14:50:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Investigate how to improve JSON schema validation", "timeSpent": "PT0S", "updated": "2017-03-01T14:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "body": "[~accountid:557058:29f801b5-e0f5-4278-a19b-0e5101f2094d] can you scope this one? Also, not sure if the description needs a refresh since there's been work on unvendoring leatherman since this was ticketed.\n\nThis came up in the context of QENG-3392, which makes me want to bump the priority on this.", "created": "2016-01-15T12:08:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "-This is currently blocking builds of {{puppet-agent}}-\n\nThe build issue is due to a github outage and is not directly related to this ticket.", "created": "2016-01-19T10:01:00.000000"}], "components": ["cpp-pcp-client", "pxp-agent"], "created": "2015-12-10T06:53:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@67ea929"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2nu7:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Known Issue"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Removing cpp-pcp-client as a git submodule; building pxp-agent will rely on an installed cpp-pcp-client library."}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Prioritizing this for QENG-3392."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Jan/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_26949484_*|*_1_*:*_1_*:*_3136260780_*|*_10007_*:*_1_*:*_44771859_*|*_3_*:*_1_*:*_343870115_*|*_5_*:*_1_*:*_4865318316_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_64434282"}], "description": "Unvendor leatherman from cpp-pcp-client and pxp-agent.\nUnvendor cpp-pcp-client from pxp-agent.\n\nCurrently, pxp-agent won\u2019t build with \u201ccmake -DEXTERNAL_CPP_PCP_CLIENT=OFF\u201c. Also, Leatherman libraries are in the process of being unvendored (FACT-950).\n\nBy dealing with Leatherman changes, we must fix the CMake configuration, get rid of the submodule, and consider implementing a mechanism to enable the linkage against a specific version of libcpp-pcp-client.so (for development - see PCP-94).\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32019", "fixedVersions": ["cpp-pcp-client 1.1.1", "pxp-agent 1.1.1"], "id": "32019", "issueType": "Improvement", "key": "PCP-209", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-01-21T03:24:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Remove git submodules", "timeSpent": "PT0S", "updated": "2016-08-09T10:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "The implemented solution does not employ any persistent storage to keep track of ongoing actions. Instead, pxp-agent now relies on the ThreadContainer logic for that.\n\nThe changes made for improving the management of non-blocking actions include new data structures to enable the processing the output of tasks stored on file, in order to validate the results of actions that completed after pxp-agent stopped. Also the exitcode file is been taken into account when establishing the state of an action task. Refer to the listed PRs for more details.", "created": "2016-02-19T17:01:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Tested in puppet-agent 1.3.5.286.g1ff143b \n\nAltered the files in /opt/puppetlabs/pxp-agent/spool to reflect the transactions states listed in this table:\nhttps://github.com/puppetlabs/pxp-agent/pull/341/files#diff-b9a240def3308a447c95e11385678bc2R417\n\nOn querying the transaction state with pcp-client", "created": "2016-02-24T03:35:00.000000"}], "components": ["pxp-agent"], "created": "2015-12-10T06:33:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1d94f923"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "High"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3kn:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "pxp-agent will be more robust to restarting during the execution of an external module.\nThe structure of the spool directory will change in order to discriminate between ongoing and completed tasks.\npxp-agent will check the state of not completed tasks at start."}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Prioritizing this for Burnside's feature complete deadline."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "5.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "24/Feb/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_9299143_*|*_1_*:*_1_*:*_4767065885_*|*_10007_*:*_1_*:*_9497401_*|*_3_*:*_1_*:*_1370822830_*|*_5_*:*_1_*:*_1927069483_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_399030454"}], "description": "pxp-agent should keep track of the state of the ongoing tasks with a persistent data structure, in order to guarantee the delivery of the non-blocking response (e.g. pxp-agent restarts during the execution of a non-blocking task requested with notify-outcome flagged).\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31822", "fixedVersions": ["pxp-agent 1.1.0"], "id": "31822", "issueType": "Improvement", "key": "PCP-208", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-02-24T03:35:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Improve management of non-blocking tasks", "timeSpent": "PT0S", "updated": "2016-03-17T11:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "This improvement will be necessary after enabling notify_outcome and non-blocking (final) responses.", "created": "2015-12-18T05:45:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Verified by making an rpc_non_blocking_request to run puppet, restarting pxp-agent service during the puppet run, allowing the puppet run to complete after the pxp-agent service had restarted, then making an rpc_blocking_request to query the results - the Puppet agent's stdout, stderr, exit code, run status etc are correctly populated in the rpc_blocking_response results:\n\n{noformat}{:envelope=>{:id=>\"4a698572-15eb-4be0-8f11-7bc4e01fbbf8\", :targets=>[\"pcp://controller01.example.com/ruby-pcp-client-7024\"], :message_type=>\"http://puppetlabs.com/rpc_blocking_response\", :sender=>\"pcp://client01.example.com/agent\", :expires=>\"2016-02-02T15:46:14.454753Z\"}, :data=>{\"transaction_id\"=>\"2efe9494-58d7-488e-94c9-c0ccae207a3b\", \"results\"=>{\"transaction_id\"=>\"ef08753f-e8dd-409d-9978-3988e3b7468e\", \"status\"=>\"unknown\", \"exitcode\"=>0, \"stdout\"=>\"{\\\"kind\\\":\\\"apply\\\",\\\"time\\\":\\\"2016-02-02 07:44:02 -0800\\\",\\\"transaction_uuid\\\":\\\"c880d3c2-6601-4801-9362-f1cb4b9caccf\\\",\\\"environment\\\":\\\"sleep\\\",\\\"status\\\":\\\"changed\\\",\\\"exitcode\\\":0,\\\"version\\\":1}\", \"stderr\"=>\"\"}}, :debug=>{\"hops\"=>[{\"server\"=>\"pcp://broker.example.com/server\", \"time\"=>\"2016-02-02T15:46:12.682Z\", \"stage\"=>\"accepted\"}, {\"server\"=>\"pcp://broker.example.com/server\", \"time\"=>\"2016-02-02T15:46:12.690Z\", \"stage\"=>\"accept-to-queue\"}, {\"server\"=>\"pcp://broker.example.com/server\", \"time\"=>\"2016-02-02T15:46:12.702Z\", \"stage\"=>\"deliver\"}]}}{noformat}\n\nLTH-82 blocks completion of the acceptance test for this. The use case works as expected on Redhat6, Ubuntu 14.04 and OSX", "created": "2016-02-04T06:55:00.000000"}], "components": ["pxp-agent"], "created": "2015-12-10T06:18:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@8c65d46"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Contact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker", "value": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b"}, {"fieldName": "QA Highest Test Level", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Acceptance"}, {"fieldName": "QA Highest Test Level Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "C94705 will cover this. PCP-230 is ticket to implement it"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Medium"}, {"fieldName": "QA Risk Probability Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Likely that some customer systems will encounter pxp-agent restarts while a PXP action is executing"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "High"}, {"fieldName": "QA Risk Severity Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Under reasonable circumstances (i.e. including service restarts); users should not lose the result of their PXP requests"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz402f:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "04/Feb/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_45117919_*|*_1_*:*_1_*:*_3630319639_*|*_10007_*:*_1_*:*_8026327_*|*_3_*:*_1_*:*_347943472_*|*_5_*:*_1_*:*_3643087741_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_467812217_*|*_10004_*:*_1_*:*_341368789"}], "description": "External modules are currently executed in a child process via leatherman::execution, but their output streams and final outcome are handled by the pxp-agent process, due to the callback / pipe-based logic of the exec() calls.\nAs a consequence, in case pxp-agent restarts during an external module run, output and outcome are lost. That must be improved.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31782", "fixedVersions": ["pxp-agent 1.1.0"], "id": "31782", "issueType": "Improvement", "key": "PCP-207", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-02-04T06:55:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Improve the way external modules are executed ", "timeSpent": "PT0S", "updated": "2016-03-17T11:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Besides implementing all changes made during PCP-202 for transaction status, consider determining the failure but inspecting the exitcode, instead of simply relying on status.", "created": "2016-02-08T05:53:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Puppet run response as of puppet-agent 1.3.4.181.g4ba8c7b 4ba8c7b91e3ac6266d7341d9e365bb600a217c93 :\n\n{noformat}{:envelope=>{:id=>\"9e22967b-700e-44b1-a4f3-aa9c888ffd3b\", :targets=>[\"pcp://controller01.example.com/ruby-pcp-client-17890\"], :message_type=>\"http://puppetlabs.com/rpc_blocking_response\", :sender=>\"pcp://client01.example.com/agent\", :expires=>\"2016-02-10T13:37:05.652436Z\"}, :data=>{\"transaction_id\"=>\"f7bc7718-3cdb-4ac9-b486-3ed001f5bacc\", \"results\"=>{\"transaction_id\"=>\"a0c0d66d-3647-40b9-87dd-832355c1bdf2\", \"status\"=>\"success\", \"exitcode\"=>0, \"stdout\"=>\"{\\\"report\\\":{\\\"kind\\\":\\\"apply\\\",\\\"time\\\":\\\"2016-02-10 05:35:17 -0800\\\",\\\"transaction_uuid\\\":\\\"2d144f24-49f8-4f8e-a583-593f72a36e54\\\",\\\"environment\\\":\\\"sleep\\\",\\\"status\\\":\\\"changed\\\"},\\\"exitcode\\\":0,\\\"version\\\":1}\", \"stderr\"=>\"\"}}, :debug=>{\"hops\"=>[{\"server\"=>\"pcp://broker.example.com/server\", \"time\"=>\"2016-02-10T13:37:03.333Z\", \"stage\"=>\"accepted\"}, {\"server\"=>\"pcp://broker.example.com/server\", \"time\"=>\"2016-02-10T13:37:03.339Z\", \"stage\"=>\"accept-to-queue\"}, {\"server\"=>\"pcp://broker.example.com/server\", \"time\"=>\"2016-02-10T13:37:03.358Z\", \"stage\"=>\"deliver\"}]}}{noformat}", "created": "2016-02-10T08:47:00.000000"}], "components": ["pxp-agent"], "created": "2015-12-10T03:29:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@47bfa20"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Contact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker", "value": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz3hz3:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Feb/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_9256357_*|*_1_*:*_1_*:*_4170323173_*|*_10007_*:*_1_*:*_1069059_*|*_3_*:*_1_*:*_14474789_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_2_*:*_76223694_*|*_10006_*:*_1_*:*_1104552421"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31861", "fixedVersions": [], "id": "31861", "issueType": "Sub-task", "key": "PCP-206", "labels": [], "originalEstimate": "PT0S", "parent": "31749", "parentSummary": "Make structure of pxp-agent  response clearer", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Fixed", "resolutionDate": "2016-02-10T08:47:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Update pxp-module-puppet's result structure.", "timeSpent": "PT0S", "updated": "2016-02-10T08:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2015-12-09T08:43:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3cdc1681"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz3h9z:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_4237866206_*|*_3_*:*_1_*:*_121664_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1131104269"}], "description": "Ensure that the changes made to the transaction_status are adopted by the App Orchestrator, NMUI, and integration tests.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31858", "fixedVersions": [], "id": "31858", "issueType": "Sub-task", "key": "PCP-204", "labels": [], "originalEstimate": "PT0S", "parent": "31749", "parentSummary": "Make structure of pxp-agent  response clearer", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Done", "resolutionDate": "2016-02-09T12:08:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Propagate transaction_status changes to consumer components", "timeSpent": "PT0S", "updated": "2016-02-09T12:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "This does not require any change on pxp-agent.", "created": "2016-02-09T07:48:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "This does not require any change on clj-pxp-puppet.", "created": "2016-02-09T09:01:00.000000"}], "components": ["clj-pxp-puppet", "pxp-agent"], "created": "2015-12-09T08:40:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7f81c27"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz3h9r:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_4238046532_*|*_3_*:*_1_*:*_4458510_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1115537484"}], "description": "Implement transaction_status changes in pxp-agent and clj-pxp-puppet.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31781", "fixedVersions": [], "id": "31781", "issueType": "Sub-task", "key": "PCP-203", "labels": [], "originalEstimate": "PT0S", "parent": "31749", "parentSummary": "Make structure of pxp-agent  response clearer", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Won't Fix", "resolutionDate": "2016-02-09T09:01:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Update PXP components to new transaction_status response", "timeSpent": "PT0S", "updated": "2016-02-09T09:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["protocol"], "created": "2015-12-09T08:38:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5e4716f1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Contact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker", "value": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz3h9j:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "PXP protocol improvement; providing more context in transaction status responses."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_3173028391_*|*_10007_*:*_2_*:*_15350900_*|*_3_*:*_2_*:*_704602224_*|*_10009_*:*_1_*:*_169123013_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_1382599971"}], "description": "Improve the structure of the data content of transaction status response by separating the actual action information from the status query one.\n\nConsider adding more information regarding the status query execution (errors, duration). ", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31677", "fixedVersions": [], "id": "31677", "issueType": "Sub-task", "key": "PCP-202", "labels": [], "originalEstimate": "PT0S", "parent": "31749", "parentSummary": "Make structure of pxp-agent  response clearer", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2016-02-10T09:03:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Update PXP specs with transaction_status improvements", "timeSpent": "PT0S", "updated": "2016-02-10T09:03:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "attachments": [], "comments": [], "components": ["pcp-broker"], "created": "2015-12-08T04:25:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7031ee96"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz3gm7:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Existing web-router configs will need to replace websocket with v1 to keep working."}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Bandwidth"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_684727_*|*_1_*:*_1_*:*_99774738_*|*_10007_*:*_1_*:*_209401_*|*_3_*:*_1_*:*_2799283_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_189765558"}], "description": "Change the name of the {{websocket}} route-id to {{v1}}, so that adding {{v2}} can follow a more apparent pattern:\n\n{code}\nweb-router-service: {\n    \"puppetlabs.pcp.broker.service/broker-service\": {   \n       v1: \"/pcp\"\n       v2: \"/pcp/v2\"\n    }\n}\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31779", "fixedVersions": ["pcp-broker 0.7.0"], "id": "31779", "issueType": "Improvement", "key": "PCP-199", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2015-12-11T13:52:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Change name of websocket route-id", "timeSpent": "PT0S", "updated": "2016-01-21T10:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "body": "Heads-up [~accountid:557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b]. I can provide more background info if you haven't been following along at home on this stuff.", "created": "2015-12-29T17:57:00.000000"}, {"author": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "body": "I created a pxp-agent 1.0.3 for this since we don't want to hold puppet-agent for this and we should target this at stable. If we end up not doing a pxp-agent 1.0.3 but go straight to pxp-agent 1.1.0, then the fixVersion on this can be updated then.", "created": "2016-01-14T14:16:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b] I submitted a puppet PR that does similar things, and it passed CI last night: https://github.com/puppetlabs/puppet/pull/4572. Fortunately pxp doesn't support `packages` or `passenger` type acceptance so it should be straightforward to port those changes to pxp. There are a couple of things to watch out for though.\n\nYou'll want to use `install_puppet_agent_dev_repo_on` for all agent-only hosts: https://github.com/puppetlabs/puppet/blob/master/acceptance/setup/aio/pre-suite/010_Install.rb#L8-L18. If you install puppet-agent on the master, and it starts and manages permissions, and then try to install puppetserver, bad things may happen, see SERVER-528.\n\nYou'll want to account for installing puppetserver latest vs SHA from nightlies: https://github.com/puppetlabs/puppet/blob/master/acceptance/setup/aio/pre-suite/010_Install.rb#L29-L41. Due to Beaker BKR-673, you can't use the same method for both. I also only install the repo config for puppet-agent on the master. When installing  puppetserver, it has a package dependency on puppet-agent, and will install it.", "created": "2016-01-15T11:20:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "[~accountid:63d40628f6e1b543161789a7] Added a PR for this https://github.com/puppetlabs/pxp-agent/pull/297 \n\nAside from this PR (it can still be reviewed and hopefully merged) I emailed you a couple of questions\n\nCheers\n", "created": "2016-01-18T10:44:00.000000"}], "components": ["pxp-agent"], "created": "2015-12-07T16:16:00.000000", "creator": "557058:91233464-4152-4228-81dd-172d43a52a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@17cb47ae"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz401r:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/Dec/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_485848_*|*_1_*:*_2_*:*_344917523_*|*_10007_*:*_1_*:*_866157781_*|*_3_*:*_2_*:*_443897885_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_2_*:*_2718637316_*|*_10006_*:*_1_*:*_172082227"}], "description": "# In acceptance/Gemfile, add a gem dependency on beaker-hostgenerator\n# Update Rakefile to call beaker-hostgenerator to generate host configs instead of relying on static host configs in the repo.\n# Call beaker method (depends on BKR-648) to install puppet-agent using the dynamically generated host config.\n# Remove ci:test:package target from acceptance/Rakefile\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31772", "fixedVersions": [], "id": "31772", "issueType": "Improvement", "key": "PCP-198", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Done", "resolutionDate": "2016-01-29T07:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Remove host specific logic from pxp acceptance setup steps", "timeSpent": "PT0S", "updated": "2016-02-25T02:58:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "[~accountid:557058:3bbf1c83-df0e-4372-887d-cfc38dee9330], do you mind having a look at this? Perhaps you've already fixed this for some other component.", "created": "2015-12-04T03:34:00.000000"}, {"author": "623c0c80b75ca8007056cf3e", "body": "On Ubuntu 14.04 LTS I get the very similar\n\n{code}\n/etc/cron.daily/logrotate:\nerror: error running shared postrotate script for '/var/log/puppetlabs/pxp-agent/*.log '\nrun-parts: /etc/cron.daily/logrotate exited with return code 1\n{code}\n\nand to me, the logrotate line\n\n{code}\n   postrotate\n        [ -s /var/run/puppetlabs/pxp-agent.pid ] && kill -USR2 `cat /var/run/puppetlabs/pxp-agent.pid`\n{code}\n\ndoes not look right. I guess the left-hand test fails, resulting in exit code 1.\n", "created": "2016-04-21T04:47:00.000000"}, {"author": "623c0c80b75ca8007056cf3e", "body": "[Pull request|https://github.com/puppetlabs/pxp-agent/pull/402] submitted.", "created": "2016-04-25T05:29:00.000000"}, {"author": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "body": "[~accountid:623c0c80b75ca8007056cf3e], thank you for the pull request! ", "created": "2016-04-28T18:43:00.000000"}, {"author": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "body": "Both logrotate fixes should be in pre-release puppet-agent builds 1.4.2.29.gc6bfaa5 and later.  ", "created": "2016-05-04T18:14:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:3bbf1c83-df0e-4372-887d-cfc38dee9330] is this by chance related to PA-324?", "created": "2016-05-10T19:06:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "Validated using pre-release build of {{puppet-agent}} at SHA {{4b09ae0f5c7e7b35b4fb1822a529fc11f02fb5bf}} containing {{pxp-agent}} at SHA {{55b79dcbf5b322d7488871e73f16905121c52024}}. The errors previously emitted on Debian Jessie and Ubuntu 14.04 when executing logrotate are no longer present.\n\nh3. Debian Jessie\n{code}\nroot@q890m00cpb36ifz:~# facter os\n{\n  architecture => \"amd64\",\n  distro => {\n    codename => \"jessie\",\n    description => \"Debian GNU/Linux 8.0 (jessie)\",\n    id => \"Debian\",\n    release => {\n      full => \"8.0\",\n      major => \"8\",\n      minor => \"0\"\n    }\n  },\n  family => \"Debian\",\n  hardware => \"x86_64\",\n  name => \"Debian\",\n  release => {\n    full => \"8.0\",\n    major => \"8\",\n    minor => \"0\"\n  },\n  selinux => {\n    enabled => false\n  }\n}\n\nroot@q890m00cpb36ifz:~# cat /opt/puppetlabs/puppet/VERSION\n1.4.2.418.g4b09ae0\n\nroot@q890m00cpb36ifz:~# /etc/cron.daily/logrotate -d\nroot@q890m00cpb36ifz:~# echo $?\n0\nroot@q890m00cpb36ifz:~# grep pxp-agent /var/lib/logrotate/status\n\"/var/log/puppetlabs/pxp-agent/pxp-agent.log\" 2016-5-11-8:0:0\n\"/var/log/puppetlabs/pxp-agent/*.log\" 2016-5-11-8:0:0\n{code}\n\nh3. Ubuntu 14.04\n{code}\nroot@s5guwa80gqy1rhb:~# facter os\n{\n  architecture => \"amd64\",\n  distro => {\n    codename => \"trusty\",\n    description => \"Ubuntu 14.04 LTS\",\n    id => \"Ubuntu\",\n    release => {\n      full => \"14.04\",\n      major => \"14.04\"\n    }\n  },\n  family => \"Debian\",\n  hardware => \"x86_64\",\n  name => \"Ubuntu\",\n  release => {\n    full => \"14.04\",\n    major => \"14.04\"\n  },\n  selinux => {\n    enabled => false\n  }\n}\n\nroot@s5guwa80gqy1rhb:~# cat /opt/puppetlabs/puppet/VERSION\n1.4.2.418.g4b09ae0\n\nroot@s5guwa80gqy1rhb:~# /etc/cron.daily/logrotate -d\nroot@s5guwa80gqy1rhb:~# echo $?\n0\n\nroot@s5guwa80gqy1rhb:~# grep pxp-agent /var/lib/logrotate/status\n\"/var/log/puppetlabs/pxp-agent/*.log\" 2016-5-11-8:0:0\n{code}", "created": "2016-05-11T09:28:00.000000"}, {"author": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "body": "[~accountid:557058:3da95088-202d-4082-a15a-eb2e812f2578], yes - PA-324 is related.", "created": "2016-05-11T18:11:00.000000"}, {"author": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "body": "Closing as part of pxp-agent 1.1.3 release tasks", "created": "2016-05-17T16:33:00.000000"}], "components": ["pxp-agent"], "created": "2015-12-04T03:25:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": ["Services"]}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3db09c06"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hynd4f:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "This fixes a previous issue where logrotate emitted an error on Debian Jessie and Ubuntu 14.04 when attempting to reload the status of the pxp-agent service."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Release Engineering"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "04/Dec/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_600016710_*|*_1_*:*_2_*:*_984338034_*|*_10007_*:*_1_*:*_415757632_*|*_3_*:*_1_*:*_85979111_*|*_10009_*:*_1_*:*_31028563_*|*_5_*:*_2_*:*_3439510889_*|*_6_*:*_2_*:*_7415524528_*|*_10011_*:*_1_*:*_573619028_*|*_10006_*:*_2_*:*_753906724"}], "description": "Reported by [~accountid:70121:372f6a1d-1a83-4b60-9f7d-6a3a29fe8f97]\n\nThe pxp agent logrotate task fails on debian jessie due incorrect path of 'systemctl' binary:\n{quote}/etc/cron.daily/logrotate:\nlogrotate_script: 2: logrotate_script: /usr/bin/systemctl: not found\nerror: error running shared postrotate script for '/var/log/puppetlabs/pxp-agent/*.log '\nrun-parts: /etc/cron.daily/logrotate exited with return code 1{quote}\n\nI checked the path on a fresh jessie installation:\n{quote}root@va-jessie:~# lsb_release -a\nNo LSB modules are available.\nDistributor ID:\tDebian\nDescription:\tDebian GNU/Linux 8.2 (jessie)\nRelease:\t8.2\nCodename:\tjessie\nroot@va-jessie:~# which systemctl\n/bin/systemctl\nroot@va-jessie:~# ls -la /usr/bin/systemctl\nls: cannot access /usr/bin/systemctl: No such file or directory\nroot@va-jessie:~#{quote}", "environment": "Debian Jessie", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31562", "fixedVersions": ["pxp-agent 1.1.3"], "id": "31562", "issueType": "Bug", "key": "PCP-196", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-05-11T18:11:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": " pxp agent logrotate task fails on debian jessie due incorrect path of 'systemctl' binary", "timeSpent": "PT0S", "updated": "2016-05-17T16:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "body": "[~accountid:557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e] This ticket needs the docs field set, even if it is just \"not needed\". ", "created": "2016-01-26T13:41:00.000000"}], "components": ["pcp-broker"], "created": "2015-12-03T07:24:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4af4f4a4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Contact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker", "value": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz3w2v:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Towards PCP 1.5 implementation/support."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Jan/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_4444132_*|*_1_*:*_1_*:*_4135588728_*|*_10007_*:*_2_*:*_4414859_*|*_3_*:*_2_*:*_91135406_*|*_10009_*:*_1_*:*_80338388_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_442264435"}], "description": "`in-reply-to` should be populated by the broker whenever it is generating a message to advise of a previous message.  This includes but may not be limited to messages of the type:\n\n* {{http://puppetlabs.com/ttl_expired}}\n* {{http://puppetlabs.com/destination_report}}\n* {{http://puppetlabs.com/associate_response}}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31820", "fixedVersions": ["pcp-broker 0.7.0"], "id": "31820", "issueType": "Improvement", "key": "PCP-195", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2016-01-27T09:07:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Broker should consistently populate 'in-reply-to' envelope property", "timeSpent": "PT0S", "updated": "2016-01-27T09:07:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Tested by setting up pxp-agent acceptance and git checkout'ing pcp-broker to master ref", "created": "2016-01-28T04:48:00.000000"}], "components": ["pcp-broker"], "created": "2015-12-03T06:13:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@441e4a86"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Contact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker", "value": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Risk Probability Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Existing tests of PCP messaging"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "High"}, {"fieldName": "QA Risk Severity Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "PCP messaging might not work"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz401j:"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Will warrant a changelog but not release notes.  Internal refactoring."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/Jan/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_457616_*|*_1_*:*_1_*:*_4659758065_*|*_10007_*:*_1_*:*_4446701_*|*_3_*:*_1_*:*_88504788_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_80080478"}], "description": "The current implementation uses schema-checked maps as a foundational data type.  This works well enough but by switching to schema/defrecord for these types we will gain a little in terms of memory footprint, and also an amount of encapsulation", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32193", "fixedVersions": ["pcp-broker 0.7.0"], "id": "32193", "issueType": "Improvement", "key": "PCP-194", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2016-01-28T04:48:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Reimplement capsule and connection as schematised records", "timeSpent": "PT0S", "updated": "2017-01-06T13:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [], "components": ["pcp-broker"], "created": "2015-12-03T05:45:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2b6063af"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Contact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker", "value": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz3d93:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Adds a new service dependency on trapperkeeper-status which will need to be added to your `bootstrap.cfg` and a change rippled into your web-routes.   https://github.com/puppetlabs/pcp-broker/commit/20ff59ddc8cc544e4ddfc8adf1691036e5c1f7ce"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Bandwidth"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_387641_*|*_1_*:*_1_*:*_97681420_*|*_10007_*:*_1_*:*_334011_*|*_3_*:*_1_*:*_333542636_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_88904527"}], "description": "Early on in development we wanted to create a status endpoint that displayed information and metrics about the running pcp-broker. In the end we only implemented a very simple metrics endpoint that returns a json document.  Replace this with trapperkeeper-status.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32012", "fixedVersions": ["pcp-broker 0.7.0"], "id": "32012", "issueType": "Improvement", "key": "PCP-193", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2015-12-09T06:26:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Expose broker status with trapperkeeper-status", "timeSpent": "PT0S", "updated": "2016-02-11T09:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "aggregatetimeestimate": "60", "aggregatetimeoriginalestimate": "60", "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [], "components": ["cpp-pcp-client", "protocol"], "created": "2015-12-02T08:45:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7300f41c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Contact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker", "value": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz32of:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_71382290_*|*_10007_*:*_1_*:*_5951936_*|*_3_*:*_1_*:*_8491415_*|*_10009_*:*_1_*:*_3944_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_87252132"}], "description": "Update PCP specs.\nAdd entry to envelope schema in cpp-pcp-client.", "epicLinkSummary": null, "estimate": "PT60S", "externalId": "32243", "fixedVersions": [], "id": "32243", "issueType": "Improvement", "key": "PCP-192", "labels": [], "originalEstimate": "PT60S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2015-12-04T08:50:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add in-reply-to to envelope schema", "timeSpent": "PT0S", "updated": "2015-12-04T08:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pxp-agent", "QA"], "created": "2015-12-02T08:16:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@47b93bbf"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz3d8v:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_8126706_*|*_10007_*:*_1_*:*_584906646_*|*_3_*:*_1_*:*_5175578_*|*_5_*:*_1_*:*_0"}], "description": "[C94789|https://testrail.ops.puppetlabs.net/index.php?/cases/view/94789] - An associated agent should automatically reconnect when the broker was temporarily unavailable", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32007", "fixedVersions": [], "id": "32007", "issueType": "Task", "key": "PCP-191", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2015-12-09T06:27:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent acceptance test C94789", "timeSpent": "PT0S", "updated": "2016-07-06T17:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "attachments": [], "comments": [{"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "https://rubygems.org/gems/pcp-client", "created": "2016-01-12T06:01:00.000000"}], "components": [], "created": "2015-12-02T06:42:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@49642122"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz1b4v:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Had planned to commit to at sprint plan"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_82058299_*|*_3_*:*_1_*:*_396686_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_2348920438_*|*_10006_*:*_1_*:*_1108511085"}], "description": "PCP-106 and subtasks should get us to the point of being able to ship to rubygems.  Do an actual 0.1.0 release.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31856", "fixedVersions": [], "id": "31856", "issueType": "Improvement", "key": "PCP-190", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2016-01-12T06:01:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Ship ruby-pcp-client 0.1.0 to rubygems", "timeSpent": "PT0S", "updated": "2016-05-11T17:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "[C93806|https://testrail.ops.puppetlabs.net/index.php?/cases/view/93806] updated and set to be a manual test", "created": "2015-12-02T07:48:00.000000"}], "components": ["pxp-agent", "QA"], "created": "2015-12-02T04:23:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7bd5c0c5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz3d6n:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Opportunity to work on this in current sprint."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_11175403_*|*_3_*:*_1_*:*_1123960_*|*_5_*:*_1_*:*_0"}], "description": "https://testrail.ops.puppetlabs.net/index.php?/cases/view/93806\n\nEither implement this as an acceptance test, or document it as a manual Test Rail test", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31676", "fixedVersions": [], "id": "31676", "issueType": "Task", "key": "PCP-189", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Done", "resolutionDate": "2015-12-02T07:48:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Test Rail C93806 - log rotation", "timeSpent": "PT0S", "updated": "2016-05-11T17:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Created [C95972|https://testrail.ops.puppetlabs.net/index.php?/cases/view/95972] and [C95973|https://testrail.ops.puppetlabs.net/index.php?/cases/view/95973] in Test Rail", "created": "2015-12-02T04:17:00.000000"}], "components": ["pxp-agent", "QA"], "created": "2015-12-02T04:15:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6caf1b98"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hynrl3:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Opportunity to work on this in current sprint."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2962372731_*|*_10007_*:*_1_*:*_494511533_*|*_3_*:*_1_*:*_860422524_*|*_5_*:*_1_*:*_447753519_*|*_6_*:*_1_*:*_0"}], "description": "Since pxp-module-puppet is packaged in pxp-agent; we should have some acceptance testing that the pxp-module-puppet _run_ action works; and that the resulting run status can be read", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31486", "fixedVersions": ["pxp-agent 1.0.2"], "id": "31486", "issueType": "Task", "key": "PCP-188", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-01-21T03:30:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent acceptance tests of pxp-module-puppet ", "timeSpent": "PT0S", "updated": "2016-06-22T18:00:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Current plans will probably remove message persistence completely.", "created": "2016-11-03T14:49:00.000000"}], "components": ["clj-pcp-client", "cpp-pcp-client", "pcp-broker", "protocol"], "created": "2015-12-01T05:02:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@47b2802c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-399"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3in:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "5.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "26/May/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_13569740618_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_15665078255"}], "description": "Currently message expiry (commonly thought of as a message TTL) is expressed as a ISO8601 timestamp generated by the creator of the message and set in the envelope.  This forces all systems to require adequate time synchronisation otherwise a message may appear to have expired from the perspective of a client or server before the first exchange of it can even happen.\n\nThe proposal here is that the 'expires' envelope property be removed in favour of a 'ttl' one, with a datatype that can represent a time in seconds.  The server would then be responsible for internally doing whatever date math was needed to make it behave as expected.\n\n(This may be a duplicate as I remember a ticket with similar implications before, but am failing to find it with JIRA searches.)\n", "epicLinkSummary": "PCP Version 2 Protocol", "estimate": "PT0S", "externalId": "32003", "fixedVersions": [], "id": "32003", "issueType": "Improvement", "key": "PCP-187", "labels": [], "originalEstimate": "PT0S", "parent": "31882", "parentSummary": "PCP Version 2 Protocol", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Won't Do", "resolutionDate": "2016-11-03T14:49:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Move from 'expires' header to 'ttl' header", "timeSpent": "PT0S", "updated": "2016-11-03T14:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "Submitted and merged under PCP-174 at https://github.com/puppetlabs/pxp-agent/commit/e347f704de8042fd6c734c15044dd061e0b49aaa", "created": "2015-11-30T08:39:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "This was fixed in PR [262|https://github.com/puppetlabs/pxp-agent/pull/262] which was against PCP-174 rather than this ticket.", "created": "2015-12-02T03:47:00.000000"}], "components": ["pxp-agent", "QA"], "created": "2015-11-25T05:01:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@73b9c0fe"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz3apb:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Found as part of PCP-174 to run pxp-agent tests on all platforms"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "30/Nov/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_155284207_*|*_1_*:*_1_*:*_103367919_*|*_3_*:*_2_*:*_341679431_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_64182"}], "description": "On Solaris 10, the root home dir is / and not /root\nTherefore the acceptance tests will fail as they assume test certs are in /root/test-resources", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31768", "fixedVersions": [], "id": "31768", "issueType": "Task", "key": "PCP-180", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Done", "resolutionDate": "2015-12-02T03:47:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent acceptance tests need to support different root dir for Solaris 10", "timeSpent": "PT0S", "updated": "2016-05-25T17:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "qm:f7b4bc64-445a-440e-8354-a55854c39cee:a977c545-b8bf-48d4-a74e-6fce229fe0ae", "body": "EventMachine 1.2.0 is now released! Please give it a spin. As of EM 1.2.0, SSL service by default disables SSLv2 and SSLv3, and enables TLSv1, TLSv1.1, TLSv1.2.", "created": "2016-03-15T12:12:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Tested at commit c3618f0 using bin/pcp-ping and also the pxp-agent acceptance tests. Client failed to connect to broker. \nUpdated to commit 8656374 (allow other TLS versions) and both bin/pcp-ping and pxp-agent acceptance work", "created": "2016-04-04T08:53:00.000000"}], "components": ["ruby-pcp-client"], "created": "2015-11-24T05:39:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7c2c1ff8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3pj:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Wanted as part of 0.3.0"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Mar/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_11330966068_*|*_10007_*:*_1_*:*_61207604_*|*_10009_*:*_1_*:*_171189415_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_18528549_*|*_10006_*:*_1_*:*_1920733"}], "description": "Initial development adopted eventmachine-le as it provides support for configuring the ssl prototcols used, so we can simply disable SSLv23 by configuring it to use TLSv1.  https://github.com/puppetlabs/ruby-pcp-client/commit/438ef65ddd19f86637d5d48e1820ace9b20a3ec3\n\neventmachine-le doesn't build currently on ruby 2.2, which will be a problem for wider adoption.\n\neventmachine 1.2.0, when released, will absorb the feature we need from eventmachine-le, so we should be able to drop this additional dependency. https://github.com/eventmachine/eventmachine/pull/654\n\nKeep watching for a release of eventmachine, and when possible, switch to using it without eventmachine-le", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31482", "fixedVersions": ["ruby-pcp-client 0.3.0"], "id": "31482", "issueType": "Improvement", "key": "PCP-179", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2016-04-06T08:23:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Use pure eventmachine once 1.2.0 is shipped", "timeSpent": "PT0S", "updated": "2016-04-06T08:23:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Code for this is at https://github.com/james-stocks/pxp-agent/commit/0b8e0844c93fe92302d1ce9e4f21388f0d0ffb03\n\nThat commit assumes that this PR will be merged (i.e. it is branched off my fork at that point):\nhttps://github.com/puppetlabs/pxp-agent/pull/266", "created": "2015-11-27T10:58:00.000000"}], "components": ["pxp-agent", "QA"], "created": "2015-11-24T03:53:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2def2bd7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz3a2n:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Shortcoming in tests identified in PR 189"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_281068140_*|*_10007_*:*_1_*:*_9253904_*|*_3_*:*_1_*:*_326890101_*|*_5_*:*_1_*:*_0"}], "description": "Our acceptance tests currently test against the first agent in the beaker hosts config. Other agents are ignored.\n\nThe acceptance tests should repeat test steps across each available agent ", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31672", "fixedVersions": [], "id": "31672", "issueType": "Task", "key": "PCP-178", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Done", "resolutionDate": "2015-12-01T07:20:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent acceptance tests should iterate on available agents", "timeSpent": "PT0S", "updated": "2016-06-22T17:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Tested in puppet-agent 6b5d606ba\n\nRaised PCP-218 for a minor comment on the --help text for connection-timeout", "created": "2015-12-17T07:28:00.000000"}], "components": ["cpp-pcp-client", "pxp-agent"], "created": "2015-11-23T09:46:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4cdea32b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Contact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker", "value": "623e76baee1b5a00702a7275"}, {"fieldName": "QA Highest Test Level", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Acceptance"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo23r:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/Dec/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_844232519_*|*_10007_*:*_1_*:*_1113572025_*|*_3_*:*_1_*:*_8841687_*|*_5_*:*_1_*:*_7874719157_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_98681698"}], "description": "Testing has shown that in slow environments the websocketpp connection timeout (which defaults to 5000ms) can be hit.\n\nWe should allow users to set or disable this timeout in the config file or on the cli. This will require a change to both cpp-pcp-client and pxp-agent.\n\ncpp-pcp-client work has been done here: https://github.com/ploubser/cpp-pcp-client/tree/PCP-177\npxp-agent work has been done here: https://github.com/ploubser/pxp-agent/tree/PCP-177\n\nPR's will be made when we decide if this should go into master or stable.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31480", "fixedVersions": ["cpp-pcp-client 1.1.1", "pxp-agent 1.1.1"], "id": "31480", "issueType": "Improvement", "key": "PCP-177", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Fixed", "resolutionDate": "2015-12-17T07:28:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Make the websocketpp connection timeout configurable", "timeSpent": "PT0S", "updated": "2016-03-17T11:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["cpp-pcp-client"], "created": "2015-11-18T10:43:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@505f5366"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz369r:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_40956651820_*|*_6_*:*_1_*:*_0"}], "description": "When moving from std::thread to boost::thread we hastily implemented it in the Util namespace. This creates some unwanted coupling and we would be better off if we moved this to leatherman so that future projects also get to use it.\n\nWe should:\n\n- Create and scope a ticket for moving the implementation to  leatherman\n- Move the implementation to leatherman\n- Update cpp-pcp-client and pxp-agent.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32241", "fixedVersions": [], "id": "32241", "issueType": "Task", "key": "PCP-173", "labels": ["maintenance"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Won't Do", "resolutionDate": "2017-03-06T11:34:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Move boost::thread definitions in Util to leatherman", "timeSpent": "PT0S", "updated": "2017-03-06T11:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "body": "Thoughts on whether to tackle this in pxp-agent or in clj-pxp-puppet? We were saying clj-pxp-puppet earlier in hipchat, but doing it in pxp-agent would mean other clients get the behavior for free, which has some charm. Thoughts?", "created": "2015-11-13T17:04:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "[~accountid:557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920] on a second thought, I think it's better to track changes both components here, as PCP-168 still deals with connectivity issues:\n - pxp-agent: eliminate the race between checking PID and accessing metadata (check PID first", "created": "2015-11-13T20:26:00.000000"}, {"author": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "body": "Bumping back to Ready for Review, so Steve can give it the once over.", "created": "2015-11-23T13:10:00.000000"}], "components": ["pxp-agent"], "created": "2015-11-13T14:13:00.000000", "creator": "6361cbfc59c794184bcbd33a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2eb0402f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Contact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker", "value": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b"}, {"fieldName": "QA Highest Test Level", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Acceptance"}, {"fieldName": "QA Highest Test Level Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Found by an existing test case in pe_acceptance_tests. Will also be tested by planned pxp-agent PE test cases"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Medium"}, {"fieldName": "QA Risk Probability Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Race condition(s) other than the ones considered by this fix might occur"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Medium"}, {"fieldName": "QA Risk Severity Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "PXP tasks may fail to report their status correctly"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz33yf:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Bug Fix"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "This closes a race in pxp-agent between the action command completing and the corresponding metadata file being updated. "}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Found during testing"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Nov/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_228695523_*|*_10007_*:*_1_*:*_171490051_*|*_10009_*:*_1_*:*_9864721_*|*_5_*:*_2_*:*_602704254_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_455439949"}], "description": "When checking the status of an action in pxp-agent, it's possible for the status to transiently be \"unknown\". This can happen due to a race between the action command completing and the metadata file being updated.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32240", "fixedVersions": ["pxp-agent 1.0.1"], "id": "32240", "issueType": "Bug", "key": "PCP-172", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "6361cbfc59c794184bcbd33a", "resolution": "Fixed", "resolutionDate": "2015-11-23T15:54:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Fix pxp-agent race between action completing and metadata updating", "timeSpent": "PT0S", "updated": "2015-11-30T14:03:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Tests and pre-suite now use beaker's create_remote_file method to create and recreate the pxp-agent.conf file", "created": "2015-11-19T04:03:00.000000"}], "components": ["pxp-agent", "QA"], "created": "2015-11-13T10:10:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@24283ab9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz33sf:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Part of work to get acceptance tests running on all supported OSs"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_237790471_*|*_10007_*:*_1_*:*_235978481_*|*_3_*:*_1_*:*_22612779_*|*_5_*:*_1_*:*_986398137_*|*_6_*:*_1_*:*_0"}], "description": "Our acceptance tests pass on RHEL and Cygwin but will fail on AIX and Solaris due to the use of 'sed -i'", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31819", "fixedVersions": ["pxp-agent 1.0.1"], "id": "31819", "issueType": "Task", "key": "PCP-169", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2015-11-19T04:03:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Acceptance tests assume sed has a -i inline option", "timeSpent": "PT0S", "updated": "2016-05-25T17:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pxp-agent", "QA"], "created": "2015-11-12T10:21:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@16e3c5e5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3kv:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_18873370_*|*_1_*:*_1_*:*_6564824041_*|*_10007_*:*_1_*:*_328519465_*|*_3_*:*_1_*:*_19363952_*|*_5_*:*_1_*:*_3040332277_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_161440743_*|*_10006_*:*_1_*:*_754978740"}], "description": "Instead of pattern matching the log, we should actually check if the agent is connected to the broker\n\nThen the test will not fail due to intended changes to logging", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31511", "fixedVersions": ["pxp-agent 1.1.0"], "id": "31511", "issueType": "Task", "key": "PCP-167", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2016-02-11T06:21:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent acceptance - association test should not rely on log entries", "timeSpent": "PT0S", "updated": "2016-03-17T11:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "The improvements being done for PCP-174 leave very little specific to do here", "created": "2015-11-26T05:03:00.000000"}], "components": ["pxp-agent", "QA"], "created": "2015-11-12T03:32:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4f964a54"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz337b:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Required work for pxp-agent acceptance tests"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "0.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1215060710_*|*_6_*:*_1_*:*_0"}], "description": "The current set of acceptance tests in pxp-agent (and also the pre-suite code) include quite a lot of ssh commands. In some places, if branches are used to change what command is run on what OS.\n\nAs part of the work to get pxp-agent acceptance tests running against as many OSs as possible; as many ssh commands as possible should be replaced with beaker helper methods (which will already handle OS specifics).\n\nAlternatively, some ssh commands might be replaceable with Puppet commands, so that Puppet can handle the OS specifics", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31855", "fixedVersions": [], "id": "31855", "issueType": "Task", "key": "PCP-165", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Won't Do", "resolutionDate": "2015-11-26T05:03:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent acceptance tests should use as many beaker helper methods as possible", "timeSpent": "PT0S", "updated": "2015-11-26T05:03:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "--I thought we fixed this issue in leatherman where we weren't quoting the executable, which of course fails on Windows? /cc [~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e]--\n\nLooks like if you specify {{puppet_bin}} as an absolute path (with spaces) on windows, then the module doesn't use a relative path:\n\nhttps://github.com/puppetlabs/pxp-agent/blob/master/modules/pxp-module-puppet#L215-L223\n\nAnd since the path contains spaces, it's not quoted in https://github.com/puppetlabs/pxp-agent/blob/master/modules/pxp-module-puppet#L41, so we try to launch {{C:/Program}}.\n\nAs a work around I'd recommend not setting puppet_bin on all platforms, and let the module do the right thing.", "created": "2015-11-11T15:39:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I don't think that has anything to do with Leatherman.", "created": "2015-11-11T15:42:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "https://github.com/puppetlabs/pxp-agent/blob/master/modules/pxp-module-puppet#L42 is very suspect.", "created": "2015-11-11T15:42:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Put up a potential fix for the module to quote strings as needed. I was surprised we still support a puppet_bin setting in the first place however.", "created": "2015-11-11T17:20:00.000000"}, {"author": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "body": "[~accountid:557058:0b16fa29-44bc-4e11-82b0-a346967ad808] Can you confirm or deny the theory that changing the PE module to not set the puppet_bin config resolves this issue?", "created": "2015-11-11T17:26:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I'm having trouble reproducing this in isolation. Which build of puppet-agent was used?", "created": "2015-11-11T17:46:00.000000"}, {"author": "557058:0b16fa29-44bc-4e11-82b0-a346967ad808", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] Oddly enough, it only seems to occur on Win2008 http://jenkins-enterprise.delivery.puppetlabs.net/view/pe-integration/view/pe-2015.3.x/job/enterprise_pe-acceptance-tests_integration-system_pe_full-windows_2015.3.x/", "created": "2015-11-11T18:07:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Thanks, reproduced in 2008 (but not 2008r2 or later). That's irritating.\n\nQuoting will fix it.", "created": "2015-11-11T18:15:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "I think we might now be over-quoting.  One codepath constructs an array of arguments to Puppet::Util::Execution.exec which when its first argument is an array, takes care of correctly quoting it.  https://github.com/puppetlabs/pxp-agent/blob/96037d72901952da9069d03be7c98850454c9204/modules/pxp-module-puppet#L128-L130\n\nThe first element of that array is with 96037d7 now quoted, so it'll be double-quoted, which windows may or may not be able to cope with.\n\nThe fixup to line 41 is fine, though as I noted on the PR, that too could have been converted to an array for the first argument.", "created": "2015-11-12T04:14:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "The theory that PE was specifying {{puppet_bin}} in the module configuration was false. The issue was triggered in the normal case where {{puppet_bin}} has not been specified, but only was an issue on 2008.\n\nThe fix for this is going through CI, and will need to be promoted to PE for validation. ", "created": "2015-11-12T12:44:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "http://builds.puppetlabs.lan/puppet-agent/685212c6ba51a282870939cccd7ad832ffea30b7 passed CI. [~accountid:557058:252602f6-56c9-47a2-a176-2c9c57106330] could you verify if the windows issue is resolved and close this ticket?", "created": "2015-11-13T09:57:00.000000"}, {"author": "557058:252602f6-56c9-47a2-a176-2c9c57106330", "body": "Yes, I'll kick a run of our Windows job with PE 2015.3.0-rc4-161-gd1e6732 and update this ticket.\n\nO_o  [~accountid:63d40628f6e1b543161789a7] Would the fix for this have been in puppet-agent 1.2.7-429 47fabf66b1533436c9f6c4edda02e5dcd448e62a?  Because this seemed to resolve in last night's run.  Or possibly the stars aligned to not reproduce in last night's run, though it has been otherwise consistent.  Eitherway, I'll kick the most recent build to double check.", "created": "2015-11-13T11:24:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:557058:252602f6-56c9-47a2-a176-2c9c57106330] Yep that version of puppet-agent contained pxp-agent 0.1.0-407-ge430467, which contains the fix.", "created": "2015-11-13T12:48:00.000000"}, {"author": "557058:252602f6-56c9-47a2-a176-2c9c57106330", "body": "OK cool, continued to be Green on 2015.3.0-rc4-161-gd1e6732 as well.", "created": "2015-11-13T14:38:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "FWIW, this seems to work in the orchestrator tests using rc4-161 as well", "created": "2015-11-13T14:45:00.000000"}], "components": ["CI Blocker"], "created": "2015-11-11T14:25:00.000000", "creator": "557058:0b16fa29-44bc-4e11-82b0-a346967ad808", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2bc9969b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Contact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker", "value": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b"}, {"fieldName": "QA Highest Test Level", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Acceptance"}, {"fieldName": "QA Highest Test Level Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Acceptance. See PE-12758 - the test this ticket creates may be sufficient"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Medium"}, {"fieldName": "QA Risk Probability Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "This exact fault should not regress; but the general issue of spaces in paths may occur"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "High"}, {"fieldName": "QA Risk Severity Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "\"run puppet\" unusable in Windows 2008"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz330f:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Only affects unreleased software."}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Breaks pxp-module-puppet on Windows Server 2008"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/Nov/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_21441891_*|*_1_*:*_1_*:*_5455131_*|*_10007_*:*_3_*:*_6407193_*|*_3_*:*_1_*:*_8498111_*|*_5_*:*_1_*:*_429635845_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_2_*:*_132407251"}], "description": "*Description*\nWhen attempting to run `puppet job run` with a Windows agent, it fails. Server side, we see a \"null\" error:\n{code}\n     Starting deployment of production environment...\n\n      JOB PLAN\n      -------------------------------------------------------------------------\n      Environment: production\n      \n      Application instances: 0\n      \n      Total nodes in job: 2\n      Nodes getting application components: 0\n      Concurrency: default\n      \n      Puppet will compile a new catalog for all nodes included in the job.\n      \n      Nodes are listed below in priority run order and shown at the depth in which they appear in the dependency graph (0 being the root).\n      A node's dependencies should be displayed in the levels above it.\n      \n      0 -----------------------------------------------------------------------\n      brjqla17k2igzj4.delivery.puppetlabs.net\n      i0m9vpndx3r9s7d.delivery.puppetlabs.net\n      \n      New job id created: 1\n      Started puppet run on i0m9vpndx3r9s7d.delivery.puppetlabs.net ...\n      Started puppet run on brjqla17k2igzj4.delivery.puppetlabs.net ...\n      Error running puppet on i0m9vpndx3r9s7d.delivery.puppetlabs.net: null\n      Finished puppet run on brjqla17k2igzj4.delivery.puppetlabs.net - Success! \n          Applied configuration version 1447275899\n          Resource events: 0 failed 1 changed 716 unchanged 0 skipped 0 noop\n      \n      Job failed. 1 run failed, 0 runs skipped, 1 run succeeded.\n      Duration: 0 min, 46 sec\n{code}\n\nLooking at pxp-agent.log on failing windows host, there is a bad path to \"C:/Program\" that is being accessed:\n{code}\n2015-11-11 13:05:14.517060 ERROR puppetlabs.pxp_agent.external_module:267 - 'pxp-module-puppet run' failure, returned 1; error: C:/Program Files/Puppet Labs/Puppet/puppet/lib/puppet/util/execution.rb:232:in `execute': Execution of 'C:/Program Files/Puppet Labs/Puppet/bin/puppet.bat agent --configprint statedir' returned 1: 'C:/Program' is not recognized as an internal or external command, (Puppet::ExecutionFailure)\noperable program or batch file.\n\n\tfrom C:/Program Files/Puppet Labs/Puppet/pxp-agent/modules/pxp-module-puppet:42:in `check_config_print'\n\tfrom C:/Program Files/Puppet Labs/Puppet/pxp-agent/modules/pxp-module-puppet:78:in `get_result_from_report'\n\tfrom C:/Program Files/Puppet Labs/Puppet/pxp-agent/modules/pxp-module-puppet:137:in `start_run'\n\tfrom C:/Program Files/Puppet Labs/Puppet/pxp-agent/modules/pxp-module-puppet:230:in `run'\n\tfrom C:/Program Files/Puppet Labs/Puppet/pxp-agent/modules/pxp-module-puppet:241:in `<main>'\n\n\n\n2015-11-11 13:05:14.517060 ERROR puppetlabs.pxp_agent.external_module:282 - 'pxp-module-puppet run' output is not valid JSON: invalid json\n2015-11-11 13:05:14.517060 INFO  puppetlabs.pxp_agent.pxp_connector:75 - Replied to non blocking request 16771d3e-b201-4b8f-8834-6122ba1371dc by pcp://pe-internal-orchestrator/orchestrator, transaction 3de8cceb-b3be-419f-895a-26e22fead3a7, with an PXP error message\n2015-11-11 13:05:14.517060 ERROR puppetlabs.pxp_agent.request_processor:133 - Failed to execute 'pxp-module-puppet run': 'pxp-module-puppet run' returned invalid JSON - stderr: C:/Program Files/Puppet Labs/Puppet/puppet/lib/puppet/util/execution.rb:232:in `execute': Execution of 'C:/Program Files/Puppet Labs/Puppet/bin/puppet.bat agent --configprint statedir' returned 1: 'C:/Program' is not recognized as an internal or external command, (Puppet::ExecutionFailure)\noperable program or batch file.\n\n\tfrom C:/Program Files/Puppet Labs/Puppet/pxp-agent/modules/pxp-module-puppet:42:in `check_config_print'\n\tfrom C:/Program Files/Puppet Labs/Puppet/pxp-agent/modules/pxp-module-puppet:78:in `get_result_from_report'\n\tfrom C:/Program Files/Puppet Labs/Puppet/pxp-agent/modules/pxp-module-puppet:137:in `start_run'\n\tfrom C:/Program Files/Puppet Labs/Puppet/pxp-agent/modules/pxp-module-puppet:230:in `run'\n\tfrom C:/Program Files/Puppet Labs/Puppet/pxp-agent/modules/pxp-module-puppet:241:in `<main>'\n\n\n\n2015-11-11 13:05:15.312665 INFO  puppetlabs.pxp_agent.request_processor:191 - Processing blocking request bbb1e026-a2a7-44e1-81a8-3c874d449865 by pcp://pe-internal-orchestrator/orchestrator, transaction 61c21f45-d632-4c98-b556-feaae464b8c6\n2015-11-11 13:05:15.312665 INFO  puppetlabs.pxp_agent.request_processor:280 - Blocking request bbb1e026-a2a7-44e1-81a8-3c874d449865 by pcp://pe-internal-orchestrator/orchestrator, transaction 61c21f45-d632-4c98-b556-feaae464b8c6, has completed\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32239", "fixedVersions": ["pxp-agent 1.0.0"], "id": "32239", "issueType": "Bug", "key": "PCP-164", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:0b16fa29-44bc-4e11-82b0-a346967ad808", "resolution": "Fixed", "resolutionDate": "2015-11-13T14:48:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-module-puppet run fails due to bad path on Windows", "timeSpent": "PT0S", "updated": "2015-11-18T14:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2015-11-11T12:10:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@32e55ebc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-161"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hymozj:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_6635359031_*|*_6_*:*_1_*:*_0"}], "description": "Update PCP specifications to specify scope and influence of an optional locale envelope header (assuming it goes in an envelope and not just a pxp request subschema - that would need to be tbd) (probably introduces a version 2 of the protocol)", "epicLinkSummary": "pcp-broker i18n support", "estimate": "PT0S", "externalId": "31673", "fixedVersions": [], "id": "31673", "issueType": "Task", "key": "PCP-163", "labels": [], "originalEstimate": "PT0S", "parent": "31508", "parentSummary": "pcp-broker i18n support", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Won't Fix", "resolutionDate": "2016-01-27T07:20:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Update PCP specifications with locale header", "timeSpent": "PT0S", "updated": "2016-10-06T13:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "Cannot currently use this library as it has no public release.  pcp-broker is open and so all its dependencies will need to be too.", "created": "2016-01-27T07:19:00.000000"}, {"author": "557058:94d3052b-8fff-43b1-91b3-4cdcbc8fcd91", "body": "I'd be totally fine with flipping this to open", "created": "2016-01-27T09:58:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "I think the place to start is https://confluence.puppetlabs.com/display/RE/Releasing+Libraries as releng needs to make sure you're not giving the universe away.", "created": "2016-01-27T10:06:00.000000"}, {"author": "557058:94d3052b-8fff-43b1-91b3-4cdcbc8fcd91", "body": "This has now been opened up: https://github.com/puppetlabs/clj-i18n and a build is available in clojars", "created": "2016-04-06T12:14:00.000000"}], "components": ["pcp-broker"], "created": "2015-11-11T12:07:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@8bce39e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyne8f:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "New Feature"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Support for localization has been added to the project."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Jan/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_1104408_*|*_1_*:*_1_*:*_12687764631_*|*_10007_*:*_1_*:*_226867331_*|*_3_*:*_1_*:*_284402890_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_210969346_*|*_10006_*:*_1_*:*_2414835486"}], "description": "Use the Clojure puppetlabs/i18n library to allow the localization of strings in pcp-broker.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31560", "fixedVersions": ["pcp-broker 0.7.1"], "id": "31560", "issueType": "Task", "key": "PCP-162", "labels": ["i18n"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2016-05-12T17:13:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Internationalize pcp-broker", "timeSpent": "PT0S", "updated": "2016-08-04T15:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "This entire epic (and PCP-156 before it) presupposes a design decision we need to make about how the PCP protcol should work, so I'll ensure we raise the need for the PCP discussion at a future sync-up.\n\nIf we can refrain from treating this as anything more than one possible solution until then, and stop creating tickets, that'd be best.", "created": "2015-11-12T03:40:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "Another flag, we can't use https://github.com/puppetlabs/i18n yet as it hasn't gone through the open release thunderdome.  pcp-broker is openly released to clojars so its dependencies all need to be open too.", "created": "2015-11-12T04:50:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "You're right. I'd like to capture the need for a solution, and jumped to an incomplete proposal of how to address it. That sounds more like a Story ticket.\n\nI'd like to capture what we know in JIRA. Does it seem appropriate to change this to a Story ticket that reframes it as a need to communicate with the broker in the locale of the agent (which may still be open to discussion), and delete the other issues in the epic?", "created": "2015-11-12T09:30:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "OK so we need the agent to communicate the client locale to the broker.  Why?  What do we expect the broker to do differently in the handling of messages given that information?\n\nIs it we expect the recipient of the message delivered via the broker to do something different based on the senders locale?  At that point is this really about the content of the message rather than the disposition?  Can the broker remain agnostic to the message and just pass it on?\n\nThere are probably some error-reporting cases I'm overlooking, but in those cases I'd like to additionally formalise on a set of machine-parsable error codes.  We can localise the descriptive part of the error of course, but implementors should only really be surfacing those as informational, rather than relying on structure.", "created": "2015-11-12T09:43:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "The initial thought was that errors returned to the client might be translated to the client's locale.\n\nI also considered that communication to the broker might include localizable strings (100.00 vs 100,00), but that would probably be a poor design decision to have the format allow for localized strings.\n\nSo more specifically this is about presenting errors originating from the PCP broker in the client's locale, and that could be accomplished via error codes as well.", "created": "2015-11-12T10:01:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "OK so the inciting story, to be reductive, and stated from the protocol standpoint (code would have to come into line with standards), could be phrased in one of these ways:\n\na) The PCP protocol should not have any localizable properties in its structures or message encoding schemes\n\nb) The PCP protocol has localizable values in its structures, broker currently emits messages in responses that should be localized, so the protocol needs a way to specify the client locale\n\nc) The PCP protocol needs to support a mechanism for communicating sender locale to all recipients, so they may use that in their request processing\n\n\nI think/hope we're at (a) already.   If we're at (b) maybe we can fix it with more (a).   (c) is possibly useful but is a new requirement and we should consider it carefully.", "created": "2015-11-12T10:34:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Yes. I hadn't been considering (c). If we're at (a), then the only work to consider sounds like translating pcp-broker logging.", "created": "2015-11-12T10:38:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "OK, let's put our brains together more about this offline and then decide what to do with the JIRA tracking after.   I have some things to check into to make sure we're close to/converging on (a) but just localising broker log messages is certainly a thing we had in mind as a future cleanup. ", "created": "2015-11-12T11:03:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "As per discussions at a recent PCP sync (additional internal emails to follow) we won't be adding localisation to the broker after this pattern.  We will be making use of the puppetlabs/i18n library to localise system messages logged by the broker, and if needed PXP actions can take a locale parameter, but it's not currently a general pattern for PCP messages to need localisation.", "created": "2016-01-27T07:25:00.000000"}], "components": [], "created": "2015-11-11T12:03:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Scrum Team/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "PCP"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@772e62ba"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Color", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-color", "value": "ghx-label-9"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "pcp-broker i18n support"}, {"fieldName": "Epic Status", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-status", "value": "Done"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Issue color", "fieldType": "com.pyxis.greenhopper.jira:jsw-issue-color", "value": "orange"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyqhlj:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Nov/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_221606_*|*_6_*:*_1_*:*_0_*|*_10010_*:*_1_*:*_6635899773"}], "description": "A module for supporting i18n in Clojure is present at https://github.com/puppetlabs/i18n.\n\nTransition pcp-broker to support i18n. That includes wrapping logging and user-facing messages in appropriate translation helpers, and extending the API interface to support a locale header that dictates the locale that should be used to interpret requests and formulate responses.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31508", "fixedVersions": [], "id": "31508", "issueType": "Epic", "key": "PCP-161", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Won't Fix", "resolutionDate": "2016-01-27T07:25:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pcp-broker i18n support", "timeSpent": "PT0S", "updated": "2016-05-27T03:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2015-11-11T11:52:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6fdfb315"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-161"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz32on:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_6636480446_*|*_6_*:*_1_*:*_0"}], "description": "Update usage points for PCP-159 to send headers with appropriate values", "epicLinkSummary": "pcp-broker i18n support", "estimate": "PT0S", "externalId": "32238", "fixedVersions": [], "id": "32238", "issueType": "Task", "key": "PCP-160", "labels": [], "originalEstimate": "PT0S", "parent": "31508", "parentSummary": "pcp-broker i18n support", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Won't Fix", "resolutionDate": "2016-01-27T07:20:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Update clj-pcp-common and cpp-pcp-client to pass locale attribute in headers", "timeSpent": "PT0S", "updated": "2016-01-27T07:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2015-11-11T11:51:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6f304595"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-161"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz32nz:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_6636552393_*|*_6_*:*_1_*:*_0"}], "description": "Update clj-pcp-common, cpp-pcp-client components to reflect said envelope attribute in the schemas", "epicLinkSummary": "pcp-broker i18n support", "estimate": "PT0S", "externalId": "32190", "fixedVersions": [], "id": "32190", "issueType": "Task", "key": "PCP-159", "labels": [], "originalEstimate": "PT0S", "parent": "31508", "parentSummary": "pcp-broker i18n support", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Won't Fix", "resolutionDate": "2016-01-27T07:20:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Update clj-pcp-common, cpp-pcp-client components with locale is schema", "timeSpent": "PT0S", "updated": "2016-01-27T07:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["DOCS"], "created": "2015-11-11T03:54:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2c1b1e16"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz32e7:"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The specs will be cleaned up and updated to the changes made for:\nPCP-132 (the inventory service consists of providing the list of clients currently connected to the broker) and PCP-129 (status requests cannot be non-blocking)."}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "The specs were not up to date with the latest changes"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_17512_*|*_10007_*:*_1_*:*_3678988_*|*_3_*:*_1_*:*_7487913_*|*_5_*:*_1_*:*_0"}], "description": "Ensure the specs are up to date with the changes made for Ankeny.\nRemove comments. Fix typos and bad links.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31559", "fixedVersions": [], "id": "31559", "issueType": "Improvement", "key": "PCP-157", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2015-11-11T07:01:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Update PCP specs", "timeSpent": "PT0S", "updated": "2016-05-25T17:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "The epic link for this seems wrong if this really is for the pcp-broker, as it's not a C++ project.  \n\nAlso this needs breaking up more as the correct order for this change is closer to:\n\n* Update PCP specifications to specify scope and influence of an optional locale envelope header (assuming it goes in an envelope and not just a pxp request subschema - that would need to be tbd) (probably introduces a version 2 of the protocol)\n* Update clj-pcp-common, cpp-pcp-client components to reflect said envelope attribute in the schemas\n* Update usage points to send headers with appropriate values\n* This ticket, to add the localisation to the broker, for broker-generated messages\n\nI think a 3 is probably low-balling it, as we need to have implementation of request versioning as a foundation for this.", "created": "2015-11-11T03:23:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "That's all excellent. I was focused on client-side, and this came up in talking with Kylo. I'll work on breaking it up.", "created": "2015-11-11T09:05:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Created a series of new tickets (PCP-158, PCP-159, PCP-160) blocking this, and put PCP-160 in the i18n C++ Epic.\n\nThe epic may not need to be specific to C++, but I haven't started considering prep needed for Ruby yet.", "created": "2015-11-11T11:54:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "So I appreciate the effort Michael, but what you're doing is codifying a handwave as a plan of action.\n\nThis has implications in PCP protocol design, so we need to start there.  I'll make sure the need to kick off that design work for PCP is surfaced at a future PCP sync-up, but until then creating tickets is premature.\n", "created": "2015-11-12T03:44:00.000000"}], "components": [], "created": "2015-11-10T11:32:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@78ce70f1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-161"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz31of:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/Nov/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_6724080029_*|*_6_*:*_1_*:*_0"}], "description": "Define an attribute for requests to the pcp-broker that carries the client's locale, and return locale-specific responses to the client.\n\nExisting clients should be updated to pass the locale attribute in communication with the broker.", "epicLinkSummary": "pcp-broker i18n support", "estimate": "PT0S", "externalId": "32237", "fixedVersions": [], "id": "32237", "issueType": "Task", "key": "PCP-156", "labels": [], "originalEstimate": "PT0S", "parent": "31508", "parentSummary": "pcp-broker i18n support", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Won't Fix", "resolutionDate": "2016-01-27T07:20:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Define pcp-broker locale attribute for requests, and return locale-specific responses", "timeSpent": "PT0S", "updated": "2016-01-27T07:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2015-11-10T05:48:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3a2d136a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz31gf:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Needed for code complete."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_13375754_*|*_1_*:*_1_*:*_9368_*|*_10007_*:*_1_*:*_902965_*|*_3_*:*_1_*:*_3841717_*|*_5_*:*_1_*:*_643138906_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_59954238"}], "description": "When validating configuration, discriminate the two cases in the title, in order to provide more precise log messages.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31999", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31999", "issueType": "Improvement", "key": "PCP-155", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2015-11-11T03:29:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent should distinguish between certs non existent and non readable", "timeSpent": "PT0S", "updated": "2015-11-18T14:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "This will need manual testing.", "created": "2015-11-10T06:52:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "Using {{puppet-agent}} at SHA {{9c0a93a43b597dca2ce14485b635389b3dfbbeca}} containing {{pxp-agent}} at SHA {{1563d47}}, this passes manual validation on CentOS 6\n\n{code}\n[root@gytf8b8em8t5o04 ~]# chattr +i  /opt/puppetlabs/pxp-agent/spool/\n[root@gytf8b8em8t5o04 ~]# /opt/puppetlabs/puppet/bin/pxp-agent --foreground --logfile -\n2015-11-11 18:41:42.680824 ERROR puppetlabs.pxp_agent.main:179 - Fatal configuration error: --spool-dir '/opt/puppetlabs/pxp-agent/spool' is not writable", "created": "2015-11-11T19:47:00.000000"}], "components": ["pxp-agent"], "created": "2015-11-10T05:47:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@38e4d00f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo91z:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Needed for code complete."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Nov/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_14315853_*|*_1_*:*_1_*:*_97795_*|*_10007_*:*_1_*:*_2466643_*|*_3_*:*_1_*:*_1352309_*|*_5_*:*_1_*:*_584514563_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_118576550"}], "description": "During the configuration validation, pxp-agent should ensure that the spool directory is writable.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31853", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31853", "issueType": "Bug", "key": "PCP-154", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2015-11-11T19:47:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent should check if the spool dir is writable during config validation", "timeSpent": "PT0S", "updated": "2018-04-03T12:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Marking as duplicate", "created": "2016-05-31T10:39:00.000000"}], "components": [], "created": "2015-11-09T18:55:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@351ee4a2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz31br:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "31/May/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_17592208243_*|*_6_*:*_1_*:*_0"}], "description": "Use Leatherman utilities to generate message catalogs, and wrap any missing strings in a translation helper. One specific example is the command-line options and help text.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31817", "fixedVersions": [], "id": "31817", "issueType": "Task", "key": "PCP-152", "labels": ["i18n"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Duplicate", "resolutionDate": "2016-05-31T10:39:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Generate message catalogs, review and mark translatable strings", "timeSpent": "PT0S", "updated": "2016-08-12T13:58:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This seems like this should be maintainer work for pxp rather than for Leatherman.", "created": "2016-10-07T12:49:00.000000"}], "components": [], "created": "2015-11-05T09:30:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4d9a0b29"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2z5j:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "07/Oct/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_27476400704_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_14609883493"}], "description": "Move the processExist function for Windows (pxp-agent's process.hpp) to the windows library.\nConsider having the POSIX analogous. ", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31505", "fixedVersions": [], "id": "31505", "issueType": "Task", "key": "PCP-610", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Won't Do", "resolutionDate": "2017-03-06T12:08:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Move pxp-agent's processExist to leatherman's windows library", "timeSpent": "PT0S", "updated": "2017-03-06T12:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Parts 1&2 are complete.\n\nPart 3...\n * _pxp-agent assumes the Puppet Agent SHA to test is SUITE_COMMIT but in the Puppet Agent pipeline it is simply SHA_\n\n...is not yet done. The two pipelines use different environment variables", "created": "2015-11-11T06:41:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Fixing up the environment variable can be done post-Ankeny", "created": "2015-11-11T08:57:00.000000"}], "components": ["QA"], "created": "2015-11-05T08:49:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5b23205e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2z4n:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Identified when reviewing test coverage"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_426376045_*|*_3_*:*_2_*:*_92364965_*|*_5_*:*_2_*:*_623584044_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_69638"}], "description": "The pxp-agent test cases should eventually run in the [puppet-agent pipeline|https://jenkins.puppetlabs.com/view/All%20in%20One%20Agent/view/Master/view/Puppet%20Agent%20Daily/], and run against all supported OSs e.g. AIX, Sparq\n\nTo have pxp-agent tests included, their setup should be uniform with other Puppet Agent components like Hiera, Facter etc.\n\nThis includes at least:\n * pxp-agent should have static beaker host files as well as supporting genconfig; as hiera/facter/etc don't yet use genconfig\n * pxp-agent incorrectly calls its test method \"packages\" when it is actually \"aio\" and should be renamed as such\n * pxp-agent assumes the Puppet Agent SHA to test is SUITE_COMMIT but in the Puppet Agent pipeline it is simply SHA", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31816", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31816", "issueType": "Task", "key": "PCP-148", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2015-11-11T08:57:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Acceptance test setup needs to be uniform with other Puppet Agent components", "timeSpent": "PT0S", "updated": "2016-05-11T17:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [{"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "Things that need some love:\n\n* puppetlabs.pcp.broker.core\n** accept-message-for-delivery \n** handle-delivery-failure \n** maybe-send-destination-report\n** deliver-message\n** expand-destinations\n** process-inventory-message\n** process-server-message\n** connection-open\n** connection-associated\n\n* puppetlabs.pcp.broker.connection\n** make-connection\n\nThe routines in pcp.broker.core may need a large amount of stubbing to make viable\n\n\n", "created": "2015-11-11T03:47:00.000000"}], "components": ["pcp-broker"], "created": "2015-11-05T03:27:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@23ea9eba"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2z07:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_605766_*|*_1_*:*_1_*:*_457551932_*|*_10007_*:*_1_*:*_545549_*|*_3_*:*_1_*:*_76123208_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_215722"}], "description": "The outcome of this may be further subtasks, or a simple changeset adding missing tests.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31501", "fixedVersions": ["pcp-broker 0.7.0"], "id": "31501", "issueType": "Sub-task", "key": "PCP-147", "labels": [], "originalEstimate": "PT0S", "parent": "32189", "parentSummary": "Add coverage target and increase unit coverage", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2015-11-11T08:05:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Inspect coverage reports and identify important codepaths lacking tests", "timeSpent": "PT0S", "updated": "2017-01-06T13:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pcp-broker"], "created": "2015-11-05T03:25:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@cac9c1c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2yzz:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_528490396_*|*_1_*:*_1_*:*_233986_*|*_10007_*:*_1_*:*_3368366_*|*_3_*:*_1_*:*_3058533_*|*_5_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32235", "fixedVersions": ["pcp-broker 0.7.0"], "id": "32235", "issueType": "Sub-task", "key": "PCP-146", "labels": [], "originalEstimate": "PT0S", "parent": "32189", "parentSummary": "Add coverage target and increase unit coverage", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2015-11-11T08:04:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add coverage target", "timeSpent": "PT0S", "updated": "2017-01-06T13:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [{"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "WIth https://github.com/puppetlabs/pcp-broker/pull/94 we've brought the unit-only coverage up a bit to a more acceptable starting point.\n\n{code}\n|                                     :name | :forms_percent | :lines_percent |\n|-------------------------------------------+----------------+----------------|\n|            puppetlabs.pcp.broker.activemq |         6.02 % |        15.79 % |\n|             puppetlabs.pcp.broker.capsule |        44.46 % |        57.69 % |\n|          puppetlabs.pcp.broker.connection |        55.50 % |        87.50 % |\n|                puppetlabs.pcp.broker.core |        48.99 % |        65.54 % |\n| puppetlabs.pcp.broker.in-memory-inventory |        85.96 % |        84.62 % |\n|             puppetlabs.pcp.broker.metrics |         8.08 % |        26.32 % |\nFiles with 100% coverage: 1\n\nForms covered: 45.47 %\nLines covered: 62.15 %\n{code}\n\nOverall coverage is unchanged as our 'integration' test already exercised a resonable amount of code.", "created": "2015-11-11T08:01:00.000000"}], "components": ["pcp-broker"], "created": "2015-11-05T03:24:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7511a404"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2yzr:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Bugs were found, we should try and reduce our surface area"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_510952_*|*_1_*:*_1_*:*_534476604_*|*_5_*:*_1_*:*_36479227250_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_223601"}], "description": "We've allowed unit test coverage to slip a little in favour of our service-oriented tests, but they are also not quite comprehensive enough.\n\nThe coverage of all tests (generated from a spiky branch to introduce cloverage):\n\n{code}\n|                            :name | :forms_percent | :lines_percent |\n|----------------------------------+----------------+----------------|\n|   puppetlabs.pcp.broker.activemq |        46.80 % |        94.74 % |\n|    puppetlabs.pcp.broker.capsule |        50.99 % |        73.08 % |\n| puppetlabs.pcp.broker.connection |        57.59 % |        93.75 % |\n|       puppetlabs.pcp.broker.core |        64.01 % |        93.66 % |\n|    puppetlabs.pcp.broker.metrics |         8.08 % |        26.32 % |\nFiles with 100% coverage: 2\n\nForms covered: 60.66 %\nLines covered: 88.98 %\n{code}\n\nThe coverage of just the unit tests:\n{code}\n|                                     :name | :forms_percent | :lines_percent |\n|-------------------------------------------+----------------+----------------|\n|            puppetlabs.pcp.broker.activemq |         6.02 % |        15.79 % |\n|             puppetlabs.pcp.broker.capsule |        31.53 % |        46.15 % |\n|          puppetlabs.pcp.broker.connection |        55.50 % |        87.50 % |\n|                puppetlabs.pcp.broker.core |        35.57 % |        42.54 % |\n| puppetlabs.pcp.broker.in-memory-inventory |        85.96 % |        84.62 % |\n|             puppetlabs.pcp.broker.metrics |         8.08 % |        26.32 % |\nFiles with 100% coverage: 1\n\nForms covered: 34.09 %\nLines covered: 44.35 %\n{code}\n\nMore formally add the coverage target, and then bring unit coverage up further.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32189", "fixedVersions": ["pcp-broker 0.7.0"], "id": "32189", "issueType": "Improvement", "key": "PCP-145", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2015-11-11T08:05:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add coverage target and increase unit coverage", "timeSpent": "PT0S", "updated": "2017-01-06T13:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This appears to be fixed by LTH-52.", "created": "2015-11-05T18:02:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "Using {{puppet-agent}} at SHA {{8be23474284a9f8e2bae551d266f5730af6681cd}} containing {{pxp-agent}} at SHA {{7606a71}}, this passes manual review on Solaris 11 SPARC.\n\n{code}\nroot@sol11:~# /opt/puppetlabs/puppet/bin/pxp-agent --foreground --logfile - --loglevel debug --config-file /etc/puppetlabs/pxp-agent/pxp-a\ngent.conf\n2015-11-09 15:23:22.378402 DEBUG puppetlabs.pxp_agent.configuration:239 - Logging configured\n2015-11-09 15:23:22.381842 INFO  puppetlabs.pxp_agent.main:161 - pxp-agent logging has been initialized\n2015-11-09 15:23:22.388018 INFO  puppetlabs.pxp_agent.main:173 - pxp-agent configuration has been validated\n2015-11-09 15:23:22.389170 INFO  puppetlabs.cpp_pcp_client.client_metadata:106 - Retrieved common name from the certificate and determined the client URI: pcp://client01.example.com/agent\n2015-11-09 15:23:22.391608 INFO  puppetlabs.cpp_pcp_client.client_metadata:108 - Validated the private key / certificate pair\n2015-11-09 15:23:22.395570 INFO  puppetlabs.pxp_agent.request_processor:316 - Loading external modules configuration from /etc/puppetlabs/pxp-agent/modules\n2015-11-09 15:23:22.397868 INFO  puppetlabs.pxp_agent.request_processor:355 - Loading external modules from /opt/puppetlabs/pxp-agent/modules\n2015-11-09 15:23:22.398964 DEBUG leatherman.execution:88 - executing command: /opt/puppetlabs/pxp-agent/modules/pxp-module-puppet metadata\n2015-11-09 15:23:30.067831 DEBUG | - {\"description\":\"PXP Puppet module\",\"actions\":[{\"name\":\"run\",\"description\":\"Start a Puppet run\",\"input\":{\"type\":\"object\",\"properties\":{\"env\":{\"type\":\"array\"},\"flags\":{\"type\":\"array\"}},\"required\":[\"env\",\"flags\"]},\"output\":{\"type\":\"object\",\"properties\":{\"kind\":{\"type\":\"string\"},\"time\":{\"type\":\"string\"},\"transaction_uuid\":{\"type\":\"string\"},\"environment\":{\"type\":\"string\"},\"status\":{\"type\":\"string\"},\"error_type\":{\"type\":\"string\"},\"error\":{\"type\":\"string\"},\"exitcode\":{\"type\":\"number\"},\"version\":{\"type\":\"number\"}},\"required\":[\"kind\",\"time\",\"transaction_uuid\",\"environment\",\"status\",\"exitcode\",\"version\"]}}],\"configuration\":{\"type\":\"object\",\"properties\":{\"puppet_bin\":{\"type\":\"string\"}}}}\n\n2015-11-09 15:23:30.095425 DEBUG leatherman.execution:555 - process exited with status code 0.\n2015-11-09 15:23:30.102168 INFO  puppetlabs.pxp_agent.external_module:182 - External module pxp-module-puppet: metadata validation OK\n2015-11-09 15:23:30.103293 INFO  puppetlabs.pxp_agent.external_module:216 - Validating action 'pxp-module-puppet run'\n2015-11-09 15:23:30.109813 INFO  puppetlabs.pxp_agent.external_module:226 - Action 'pxp-module-puppet run' has been validated\n2015-11-09 15:23:30.112367 INFO  puppetlabs.pxp_agent.request_processor:425 - Loaded 'echo' module - action: echo\n2015-11-09 15:23:30.112773 INFO  puppetlabs.pxp_agent.request_processor:425 - Loaded 'ping' module - action: ping\n2015-11-09 15:23:30.113165 INFO  puppetlabs.pxp_agent.request_processor:425 - Loaded 'pxp-module-puppet' module - action: run\n2015-11-09 15:23:30.113561 INFO  puppetlabs.pxp_agent.request_processor:425 - Loaded 'status' module - action: query\n2015-11-09 15:23:30.125321 INFO  puppetlabs.cpp_pcp_client.connection:293 - WebSocket TLS initialization event", "created": "2015-11-09T16:28:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Updated fixversions as commits were made to both pxp-agent and cpp-pcp-client", "created": "2015-11-13T12:33:00.000000"}], "components": [], "created": "2015-11-04T18:19:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7bbcdd74"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Highest Test Level", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Acceptance"}, {"fieldName": "QA Highest Test Level Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "C94776 - Test on Solaris 11 SPARC in pxp-agent test plans"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Risk Probability Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Issue is in initial offering of pxp-agent, not a regression"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "High"}, {"fieldName": "QA Risk Severity Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "pxp-agent completely unusable"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2yvb:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Release blocker?"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Nov/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_57157691_*|*_10007_*:*_1_*:*_63819197_*|*_3_*:*_1_*:*_28446961_*|*_5_*:*_1_*:*_769179320_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_275988535"}], "description": "{code}\nroot@sol11:~# /opt/puppetlabs/puppet/bin/pxp-agent --foreground --logfile - --loglevel debug\n2015-11-04 17:16:47.312703 DEBUG puppetlabs.pxp_agent.configuration:236 - Logging configured\n2015-11-04 17:16:47.316090 INFO  puppetlabs.pxp_agent.main:161 - pxp-agent logging has been initialized\n2015-11-04 17:16:47.322091 INFO  puppetlabs.pxp_agent.main:173 - pxp-agent configuration has been validated\n2015-11-04 17:16:47.323267 INFO  puppetlabs.cpp_pcp_client.client_metadata:106 - Retrieved common name from the certificate and determined the client URI: pcp://client01.example.com/agent\n2015-11-04 17:16:47.325479 INFO  puppetlabs.cpp_pcp_client.client_metadata:108 - Validated the private key / certificate pair\n2015-11-04 17:16:47.329467 INFO  puppetlabs.pxp_agent.request_processor:316 - Loading external modules configuration from /etc/puppetlabs/pxp-agent/modules\n2015-11-04 17:16:47.329854 WARN  puppetlabs.pxp_agent.request_processor:343 - Directory '/etc/puppetlabs/pxp-agent/modules' specified by modules-config-dir doesn't exist\n2015-11-04 17:16:47.331354 INFO  puppetlabs.pxp_agent.request_processor:355 - Loading external modules from /opt/puppetlabs/pxp-agent/modules\n2015-11-04 17:16:47.332588 DEBUG leatherman.execution:87 - executing command: /opt/puppetlabs/pxp-agent/modules/pxp-module-puppet metadata\n2015-11-04 17:16:54.830911 DEBUG | - {\"description\":\"PXP Puppet module\",\"actions\":[{\"name\":\"run\",\"description\":\"Start a Puppet run\",\"input\":{\"type\":\"object\",\"properties\":{\"env\":{\"type\":\"array\"},\"flags\":{\"type\":\"array\"}},\"required\":[\"env\",\"flags\"]},\"output\":{\"type\":\"object\",\"properties\":{\"kind\":{\"type\":\"string\"},\"time\":{\"type\":\"string\"},\"transaction_uuid\":{\"type\":\"string\"},\"environment\":{\"type\":\"string\"},\"status\":{\"type\":\"string\"},\"error_type\":{\"type\":\"string\"},\"error\":{\"type\":\"string\"},\"exitcode\":{\"type\":\"number\"},\"version\":{\"type\":\"number\"}},\"required\":[\"kind\",\"time\",\"transaction_uuid\",\"environment\",\"status\",\"exitcode\",\"version\"]}}],\"configuration\":{\"type\":\"object\",\"properties\":{\"puppet_bin\":{\"type\":\"string\"}}}}\n\n2015-11-04 17:16:54.857947 DEBUG leatherman.execution:549 - process exited with status code 0.\n2015-11-04 17:16:54.864961 INFO  puppetlabs.pxp_agent.external_module:141 - External module pxp-module-puppet: metadata validation OK\n2015-11-04 17:16:54.866171 INFO  puppetlabs.pxp_agent.external_module:175 - Validating action 'pxp-module-puppet run'\n2015-11-04 17:16:54.872853 INFO  puppetlabs.pxp_agent.external_module:185 - Action 'pxp-module-puppet run' has been validated\n2015-11-04 17:16:54.875392 INFO  puppetlabs.pxp_agent.request_processor:425 - Loaded 'echo' module - action: echo\n2015-11-04 17:16:54.875820 INFO  puppetlabs.pxp_agent.request_processor:425 - Loaded 'ping' module - action: ping\n2015-11-04 17:16:54.876215 INFO  puppetlabs.pxp_agent.request_processor:425 - Loaded 'pxp-module-puppet' module - action: run\n2015-11-04 17:16:54.876620 INFO  puppetlabs.pxp_agent.request_processor:425 - Loaded 'status' module - action: query\n2015-11-04 17:16:54.888468 INFO  puppetlabs.cpp_pcp_client.connection:293 - WebSocket TLS initialization event; about to validate the certificate\n2015-11-04 17:16:55.845018 DEBUG puppetlabs.cpp_pcp_client.connection:363 - WebSocket on open event - connection timings: TCP 24069 us, WS handshake 879897 us, overall 959929 us\n2015-11-04 17:16:55.845517 INFO  puppetlabs.cpp_pcp_client.connection:364 - Successfully established a WebSocket connection with the PCP broker\n2015-11-04 17:16:55.859360 INFO  puppetlabs.cpp_pcp_client.connector:248 - Creating message with id 78ecfaa1-61b1-4a9d-9130-d265a2ab27e5 for 1 receiver\n{code}\n\nMy instinct is that this relates to LTH-52, but it's hard to tell yet.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32120", "fixedVersions": ["cpp-pcp-client 1.0.1", "pxp-agent 1.0.0"], "id": "32120", "issueType": "Bug", "key": "PCP-144", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2015-11-09T16:29:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent core dumps on Solaris 11 SPARC trying to send message to broker", "timeSpent": "PT0S", "updated": "2015-11-18T14:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["clj-pcp-client", "QA"], "created": "2015-11-04T03:38:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3307165e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo91j:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Issue found with acceptance test"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_69698826_*|*_1_*:*_1_*:*_709891791_*|*_10007_*:*_1_*:*_3320311_*|*_3_*:*_1_*:*_4286398_*|*_5_*:*_1_*:*_1495642100_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_1054086"}], "description": "The test only checks that a websocket connects; association may still fail after this point:\nhttps://github.com/puppetlabs/pxp-agent/blob/master/acceptance/tests/pxp_agent_associate.rb#L22\n\nThe log entry to check for is here:\nhttps://github.com/puppetlabs/cpp-pcp-client/blob/master/lib/src/connector/connector.cc#L362\n\nNote that ideally the test should not grep for log entries at all", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32119", "fixedVersions": ["pxp-agent 1.0.1"], "id": "32119", "issueType": "Bug", "key": "PCP-143", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2015-11-13T06:36:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Association acceptance test is not checking for the correct log message", "timeSpent": "PT0S", "updated": "2016-05-11T17:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [], "components": ["cpp-pcp-client"], "created": "2015-11-01T15:04:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@35076486"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Contact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker", "value": "623e76baee1b5a00702a7275"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2vr3:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Found during PCP-125; must be fixed for code complete"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_106520443_*|*_1_*:*_1_*:*_4592_*|*_10007_*:*_1_*:*_45216188_*|*_3_*:*_1_*:*_2272176_*|*_5_*:*_1_*:*_1148410661_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_163076462"}], "description": "The validatePrivateKeyCertPair() function, introduced for PCP-125, prompts and asks for password in case of a protected private key is provided as an argument. Such function should throw an error instead, in order to be consistent to the boost::asio behaviour once the WebSocket TLS init event is triggered. \n\nNote that the desired behaviour is also consistent with pcp-broker.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32234", "fixedVersions": ["cpp-pcp-client 1.0.1"], "id": "32234", "issueType": "Bug", "key": "PCP-142", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2015-11-05T07:09:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "cpp-pcp-client should not ask for password in case of protected key", "timeSpent": "PT0S", "updated": "2015-11-18T14:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "attachments": [{"attacher": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "created": "2015-11-02T08:40:00.000000", "name": "pxp-agent.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12302"}], "comments": [{"author": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "body": "[~accountid:557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced] Could you attach an agent log at trace level for us to investigate?", "created": "2015-11-02T04:23:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "[~accountid:557058:faa23e4b-e27a-4400-a735-de76ac155413], the service starts as expected from the command line. However, it does not start from the solaris service manager.\n\nPid created when run from CLI\n{code}\n-bash-3.2# ps -u root |grep pxp                            \n-bash-3.2# ./pxp-agent --loglevel=trace             \n-bash-3.2# ps -u root |grep pxp        \n  1232 ?           0:00 pxp-agen\n{code}\n\nHere is the log as requested, which just shows that the broker is not available. The broker was not set up for this test, so that is expected.\n\nSee attached.\n\n\nHowever, the service is not started when enabled via the Solaris service manager\n{code}\n-bash-3.2# svcadm enable pxp-agent                                      \n-bash-3.2# svcs -l pxp-agent                               \nfmri         svc:/network/pxp-agent:default\nname         PCP Execution Protocol (PXP) Agent\nenabled      true\nstate        maintenance\nnext_state   none\nstate_time   Mon Nov 02 07:16:45 2015\nlogfile      /var/svc/log/network-pxp-agent:default.log\nrestarter    svc:/system/svc/restarter:default\ncontract_id  \ndependency   require_all/none file:///etc/puppetlabs/pxp-agent/pxp-agent.conf (online)\ndependency   require_all/error svc:/network/loopback:default (online)\ndependency   require_all/error svc:/network/physical:default (online)\ndependency   require_all/none svc:/system/filesystem/local (online)\n-bash-3.2# svcs -x pxp-agent                               \nsvc:/network/pxp-agent:default (PCP Execution Protocol (PXP) Agent)\n State: maintenance since Mon Nov 02 07:16:45 2015\nReason: Start method failed repeatedly, last died on Killed (9).\n   See: http://sun.com/msg/SMF-8000-KS\nsvcs: svcs.c:401: Unexpected libscf error: entity not found.  Exiting.\n-bash-3.2# ps -u root |grep pxp                    \n-bash-3.2# \n{code}\n\nSo, in that case, the log is never created.\n{code}\n-bash-3.2# cat /var/log/puppetlabs/pxp-agent/pxp-agent.log \ncat: cannot open /var/log/puppetlabs/pxp-agent/pxp-agent.log\n{code}", "created": "2015-11-02T08:39:00.000000"}, {"author": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "body": "[~accountid:557058:3bbf1c83-df0e-4372-887d-cfc38dee9330] Could you take a look? If the agent starts from the CLI I'm assuming that the issue might be with the smf manifest?", "created": "2015-11-02T09:17:00.000000"}, {"author": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "body": "It appears that this is related to a couple of vanagon issues with directory creation (CPR-250 and CPR-251). I think we are also likely hitting a 60 second timeout currently configured in the SMF manifest for pxp-agent. I suspect may want to increase or remove this timeout.", "created": "2015-11-03T01:50:00.000000"}, {"author": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "body": "I think this will be fixed with bumping puppet-agent to use vanagon 0.4.0 (RE-5951). ", "created": "2015-11-04T12:52:00.000000"}, {"author": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "body": "With puppet-agent-1.2.7.388.ga412962-1.i386.pkg.gz on Solaris 10 i386, following the reproduction steps (and adding pxp-agent.conf's sreferenced ssl config files) the pxp-agent service tries to start, but eventually goes into maintenance mode. \n\nI think we are now seeing the expected behavior.\n\n{code}\n# tail -f /var/svc/log/network-pxp-agent\\:default.log\n[ Nov  5 07:40:48 Disabled. ]\n[ Nov  5 07:40:48 Rereading configuration. ]\n[ Nov  5 07:43:08 Enabled. ]\n[ Nov  5 07:43:08 Executing start method (\"/opt/puppetlabs/puppet/bin/pxp-agent --foreground\") ]\n[ Nov  5 07:44:08 Method or service exit timed out.  Killing contract 135 ]\n[ Nov  5 07:44:08 Method \"start\" failed due to signal KILL ]\n[ Nov  5 07:44:08 Executing start method (\"/opt/puppetlabs/puppet/bin/pxp-agent --foreground\") ]\n[ Nov  5 07:45:09 Method or service exit timed out.  Killing contract 137 ]\n[ Nov  5 07:45:09 Method \"start\" failed due to signal KILL ]\n[ Nov  5 07:45:09 Executing start method (\"/opt/puppetlabs/puppet/bin/pxp-agent --foreground\") ]\n[ Nov  5 07:46:10 Method or service exit timed out.  Killing contract 138 ]\n[ Nov  5 07:46:10 Method \"start\" failed due to signal KILL ]\n{code}\n\nThe pxp-agent.log appears to show we're using exponential backoff trying to connect to a (nonexistent) broker:\n{code}\n# tail -f /var/log/puppetlabs/pxp-agent/pxp-agent.log\n2015-11-05 07:45:12.925847 WARN  puppetlabs.cpp_pcp_client.connection:191 - Failed to establish a WebSocket connection", "created": "2015-11-05T08:54:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "[~accountid:557058:faa23e4b-e27a-4400-a735-de76ac155413] [~accountid:557058:3bbf1c83-df0e-4372-887d-cfc38dee9330] is it expected for the agent service to go into maintenance mode if the broker is unavailable?", "created": "2015-11-05T09:55:00.000000"}, {"author": "557058:252602f6-56c9-47a2-a176-2c9c57106330", "body": "On Solaris11 I'm seeing different failures I think:\n\n{code}\nroot@jjnenjafvs7v1js:~# cat /etc/puppetlabs/pxp-agent/pxp-agent.conf                                  \n{\"broker-ws-uri\":\"wss://o3bfmcumep5aovw.delivery.puppetlabs.net:8142/pcp/\",\"ssl-key\":\"/etc/puppetlabs/puppet/ssl/private_keys/jjnenjafvs7v1js.delivery.puppetlabs.net.pem\",\"ssl-cert\":\"/etc/puppetlabs/puppet/ssl/certs/jjnenjafvs7v1js.delivery.puppetlabs.net.pem\",\"ssl-ca-cert\":\"/etc/puppetlabs/puppet/ssl/certs/ca.pem\"}root@jjnenjafvs7v1js:~# ping ^Covw.delivery.puppetlabs.net:8142/pcp/t:8142/pcp/            \nroot@jjnenjafvs7v1js:~# ping o3bfmcumep5aovw\no3bfmcumep5aovw is alive\nroot@jjnenjafvs7v1js:~# svcadm enable pxp-agent\nsvcadm: Pattern 'pxp-agent' doesn't match any instances\nroot@jjnenjafvs7v1js:~# svcs -l pxp-agent \nsvcs: Pattern 'pxp-agent' doesn't match any instances\nroot@jjnenjafvs7v1js:~# cat /opt/puppetlabs/puppet/VERSION \n1.2.7.388.412962\nroot@jjnenjafvs7v1js:~# uname -a\nSunOS jjnenjafvs7v1js 5.11 11.1 i86pc i386 i86pc\n{code}", "created": "2015-11-05T14:35:00.000000"}, {"author": "557058:252602f6-56c9-47a2-a176-2c9c57106330", "body": "Yeah, Solaris10 is failing per the original description and Geoff's comments.\n\nSolaris11 is having a different problem.  Manually starting pxp-agent seems to work (the service stands up), but a svcadm call fails.  This host is currently up: jjnenjafvs7v1js.delivery.puppetlabs.net for another 11 hours as of 11/5 1:54p PST", "created": "2015-11-05T14:54:00.000000"}, {"author": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "body": "PR merged at https://github.com/puppetlabs/puppet-agent/commit/721f047244302810240a6e6370af5734fe05ab75.", "created": "2015-11-05T16:36:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Seeing similar on AIX 7.1 - raised as PCP-150\npxp-agent works as an executable", "created": "2015-11-06T04:53:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "Using {{puppet-agent}} at SHA {{8be23474284a9f8e2bae551d266f5730af6681cd}} containing {{pxp-agent}} at {{7606a71}} this still does not appear to be working correctly.\n\nWith the certs and the agent pointing to a functioning broker, the agent launched successfully. However, after a couple of minutes the service is stopped and the {{svcadm}} shows it in maintenance mode.\n\n\nClear the svcadm to remove any existing maintenance status\n{code}\n svcadm disable pxp-agent\n rm /var/log/puppetlabs/pxp-agent/pxp-agent.log\n{code}\n\nEnable the service\n{code}\nsvcadm enable pxp-agent\n{code}\n\nThe log shows that the service has started correctly, but the svcadm shows it offline\n{code}\nroot@sol11:~# svcs -l pxp-agent\nfmri         svc:/network/pxp-agent:default\nname         PCP Execution Protocol (PXP) Agent\nenabled      true\nstate        offline\nnext_state   online\nstate_time   November  9, 2015 04:01:34 PM PST\nlogfile      /var/svc/log/network-pxp-agent:default.log\nrestarter    svc:/system/svc/restarter:default\ncontract_id  416\nmanifest     /lib/svc/manifest/network/pxp-agent.xml\ndependency   require_all/none file:///etc/puppetlabs/pxp-agent/pxp-agent.conf (online)\ndependency   require_all/error svc:/network/loopback:default (online)\ndependency   require_all/error svc:/network/physical:default (online)\ndependency   require_all/none svc:/system/filesystem/local (online)\n\n\nroot@sol11:~# cat /var/log/puppetlabs/pxp-agent/pxp-agent.log\n2015-11-09 16:01:34.177324 INFO  puppetlabs.pxp_agent.main:161 - pxp-agent logging has been initialized\n2015-11-09 16:01:34.190287 INFO  puppetlabs.pxp_agent.main:173 - pxp-agent configuration has been validated\n2015-11-09 16:01:34.191430 INFO  puppetlabs.cpp_pcp_client.client_metadata:106 - Retrieved common name from the certificate and determined\n the client URI: pcp://client01.example.com/agent\n2015-11-09 16:01:34.193603 INFO  puppetlabs.cpp_pcp_client.client_metadata:108 - Validated the private key / certificate pair\n2015-11-09 16:01:34.197565 INFO  puppetlabs.pxp_agent.request_processor:316 - Loading external modules configuration from /etc/puppetlabs/\npxp-agent/modules\n2015-11-09 16:01:34.199806 INFO  puppetlabs.pxp_agent.request_processor:355 - Loading external modules from /opt/puppetlabs/pxp-agent/modu\nles\n2015-11-09 16:01:41.815308 INFO  puppetlabs.pxp_agent.external_module:182 - External module pxp-module-puppet: metadata validation OK\n2015-11-09 16:01:41.816725 INFO  puppetlabs.pxp_agent.external_module:216 - Validating action 'pxp-module-puppet run'\n2015-11-09 16:01:41.823263 INFO  puppetlabs.pxp_agent.external_module:226 - Action 'pxp-module-puppet run' has been validated\n2015-11-09 16:01:41.825748 INFO  puppetlabs.pxp_agent.request_processor:425 - Loaded 'echo' module - action: echo\n2015-11-09 16:01:41.826149 INFO  puppetlabs.pxp_agent.request_processor:425 - Loaded 'ping' module - action: ping\n2015-11-09 16:01:41.826525 INFO  puppetlabs.pxp_agent.request_processor:425 - Loaded 'pxp-module-puppet' module - action: run\n2015-11-09 16:01:41.826926 INFO  puppetlabs.pxp_agent.request_processor:425 - Loaded 'status' module - action: query\n2015-11-09 16:01:41.838650 INFO  puppetlabs.cpp_pcp_client.connection:293 - WebSocket TLS initialization event", "created": "2015-11-09T17:17:00.000000"}, {"author": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "body": "Opened https://github.com/puppetlabs/pxp-agent/pull/223. ", "created": "2015-11-09T17:52:00.000000"}, {"author": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "body": "Opened https://github.com/puppetlabs/pxp-agent/pull/224 to retarget earlier pull 223 at pxp-agent:stable.", "created": "2015-11-09T21:37:00.000000"}, {"author": "63d40635a05386069cdb69d6", "body": "merged at https://github.com/puppetlabs/pxp-agent/commit/d5c61bdec3edc97e66fc63e0da8f45109de82255", "created": "2015-11-09T22:00:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "TR test case added, [PR for acceptance test submitted|https://github.com/puppetlabs/pxp-agent/pull/229].", "created": "2015-11-10T12:23:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "This passes manual review using {{puppet-agent}} at SHA {{SHA=d5a07cfe7746c3bb9236388cdc5f7a88aa473731}} containing {{pxp-agent}} at SHA {{1563d47d54a543b8bc1cfd6420ad50ba6aedbbb1}}.\n\n\nBoth with a successful connection to the broker and without after waiting for the 60 second timeout period.\n{code}\nroot@ip53nuxvrvjoonk:~# svcs -l pxp-agent\nfmri         svc:/network/pxp-agent:default\nname         PCP Execution Protocol (PXP) Agent\nenabled      true\nstate        online\nnext_state   none\nstate_time   November 10, 2015 11:13:30 AM PST\nlogfile      /var/svc/log/network-pxp-agent:default.log\nrestarter    svc:/system/svc/restarter:default\ncontract_id  174\nmanifest     /lib/svc/manifest/network/pxp-agent.xml\ndependency   require_all/none file:///etc/puppetlabs/pxp-agent/pxp-agent.conf (online)\ndependency   require_all/error svc:/network/loopback:default (online)\ndependency   require_all/error svc:/network/physical:default (online)\ndependency   require_all/none svc:/system/filesystem/local (online)\n{code}", "created": "2015-11-10T12:26:00.000000"}], "components": [], "created": "2015-11-01T08:54:00.000000", "creator": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4243219a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2vq7:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Since pxp-agent is a new component in puppet-agent 1.3.0, users wouldn't have experienced the old broken behavior."}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Must be investigated and fixed for Ankeny"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Nov/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_115580144_*|*_1_*:*_1_*:*_90728367_*|*_10007_*:*_2_*:*_18386078_*|*_3_*:*_2_*:*_257596684_*|*_10009_*:*_1_*:*_7143556_*|*_5_*:*_1_*:*_697338710_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_2_*:*_284575899_*|*_10004_*:*_1_*:*_14376167_*|*_10006_*:*_1_*:*_1983596"}], "description": "Sorry for my lack of Solaris foo, but {{pxp-agent}} service appears to fail to start on Solaris.\n\nTested on Solaris 10 i386.\n\n1. Install {{puppet-agent}}\n2. Add required {{pxp-agent.conf}} file\n{code}\ncat /etc/puppetlabs/pxp-agent/pxp-agent.conf     \n{\n  \"broker-ws-uri\" : \"wss://broker:8142/pcp/\",\n  \"ssl-key\" : \"/root/test-resources/ssl/private_keys/client01.example.com.pem\",\n  \"ssl-ca-cert\" : \"/root/test-resources/ssl/ca/ca_crt.pem\",\n  \"ssl-cert\" : \"/root/test-resources/ssl/certs/client01.example.com.pem\"\n}\n{code}\n3. Enable {{pxp-agent}} service\n{code}\nsvcadm enable pxp-agent\n{code}\n4. Inspect status\n{code}\nsvcs -l pxp-agent  \n{code}\n  * Expected result {{enabled = true; state = online}}\n  * Actual result\n{code}\n-bash-3.2# svcs -l pxp-agent      \nfmri         svc:/network/pxp-agent:default\nname         PCP Execution Protocol (PXP) Agent\nenabled      true\nstate        offline\nnext_state   none\nstate_time   Sun Nov 01 07:37:43 2015\nrestarter    svc:/system/svc/restarter:default\ndependency   require_all/none file:///etc/puppetlabs/pxp-agent/pxp-agent.conf (online)\ndependency   require_all/error svc:/network/loopback:default (online)\ndependency   require_all/error svc:/network/physical:default (online)\ndependency   require_all/none svc:/system/filesystem/local (online)\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31815", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31815", "issueType": "Bug", "key": "PCP-170", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "resolution": "Fixed", "resolutionDate": "2015-11-10T12:26:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent service appears not to start on solaris", "timeSpent": "PT0S", "updated": "2015-11-24T10:55:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "attachments": [], "comments": [], "components": ["cpp-pcp-client"], "created": "2015-10-30T05:46:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2bcc77fa"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Highest Test Level", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Unit"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2vav:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Needed for the (recently introduced) \"uncofigured\" execution mode of pxp-agent"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_5013_*|*_3_*:*_1_*:*_83075978_*|*_5_*:*_1_*:*_1499214355_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_93031657"}], "description": "Add a new function to check whether or not the certificate.\nAs part of this task, expose getCommonNameFromCert() in client_metadata.cc.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32118", "fixedVersions": ["cpp-pcp-client 1.0.1"], "id": "32118", "issueType": "Improvement", "key": "PCP-140", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2015-11-01T05:42:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add function to check if SSL private key / cert are paired", "timeSpent": "PT0S", "updated": "2015-11-18T14:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [{"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "This seems related to the change in linking of Ws2_32 for PCP-136.  Prior to this commit https://github.com/puppetlabs/cpp-pcp-client/commit/af2c94930970ada15a582afc102386dc8879f783 it was being dynamically linked into the libcpp-pcp-client and then transitively linked into all the places that link libcpp-pcp-client.   Now it seems to be explicitly linked to cpp-pcp-client-unittests, but it's not getting linked into pxp-agent-unittests (and I guess maybe pxp-agent) as the error shows.", "created": "2015-10-29T08:23:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Need to move Ws2_32 over to pxp-agent. I'll have a fix up soon.", "created": "2015-10-29T09:30:00.000000"}], "components": [], "created": "2015-10-29T08:18:00.000000", "creator": "557058:295d7a84-a09b-4348-8961-a1e1764c190e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@73c0d21d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2unj:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "29/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_4338715_*|*_10007_*:*_1_*:*_530327855_*|*_3_*:*_1_*:*_949225_*|*_5_*:*_1_*:*_621093358_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_595933714"}], "description": "PCP Client fails to build on Windows. This ha broken the pipeline (http://jenkins-enterprise.delivery.puppetlabs.net/job/enterprise_pxp-agent_pkg-van-ship_master/182/BUILD_TARGET=win-x64,SLAVE_LABEL=beaker/console)\n\nBuild Error: \n\n{code}\nC:/cygwin64/home/Administrator/deps/pcp-client/lib/libcpp-pcp-client.a(connection.cc.obj):connection.cc:(.text$_ZN11websocketpp5frame17get_extended_sizeERKNS0_15extended_headerE[_ZN11websocketpp5frame17get_extended_sizeERKNS0_15extended_headerE]+0x33): undefined reference to `__imp_ntohs'\nC:/tools/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.3/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/cygwin64/home/Administrator/deps/pcp-client/lib/libcpp-pcp-client.a(connection.cc.obj): bad reloc address 0x33 in section `.text$_ZN11websocketpp5frame17get_extended_sizeERKNS0_15extended_headerE[_ZN11websocketpp5frame17get_extended_sizeERKNS0_15extended_headerE]'\ncollect2.exe: error: ld returned 1 exit status\nexe\\CMakeFiles\\pxp-agent.dir\\build.make:121: recipe for target 'bin/pxp-agent.exe' failed\nmingw32-make[2]: *** [bin/pxp-agent.exe] Error 1\nCMakeFiles\\Makefile2:858: recipe for target 'exe/CMakeFiles/pxp-agent.dir/all' failed\nmingw32-make[1]: *** [exe/CMakeFiles/pxp-agent.dir/all] Error 2\nmingw32-make[1]: *** Waiting for unfinished jobs....\n[ 96%] Building CXX object lib/tests/CMakeFiles/pxp-agent-unittests.dir/unit/thread_container_test.cc.obj\n[ 98%] Building CXX object lib/tests/CMakeFiles/pxp-agent-unittests.dir/unit/modules/ping_test.cc.obj\n[100%] Building CXX object lib/tests/CMakeFiles/pxp-agent-unittests.dir/unit/modules/status_test.cc.obj\nLinking CXX executable ..\\..\\bin\\pxp-agent-unittests.exe\nC:/cygwin64/home/Administrator/deps/pcp-client/lib/libcpp-pcp-client.a(serialization.cc.obj):serialization.cc:(.text+0x17): undefined reference to `__imp_htonl'\nC:/cygwin64/home/Administrator/deps/pcp-client/lib/libcpp-pcp-client.a(serialization.cc.obj):serialization.cc:(.text+0x3a): undefined reference to `__imp_ntohl'\nC:/tools/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.3/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/cygwin64/home/Administrator/deps/pcp-client/lib/libcpp-pcp-client.a(serialization.cc.obj): bad reloc address 0x0 in section `.pdata'\ncollect2.exe: error: ld returned 1 exit status\nlib\\tests\\CMakeFiles\\pxp-agent-unittests.dir\\build.make:381: recipe for target 'bin/pxp-agent-unittests.exe' failed\nmingw32-make[2]: *** [bin/pxp-agent-unittests.exe] Error 1\n{code}", "environment": "Windows", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31813", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31813", "issueType": "Bug", "key": "PCP-138", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Critical", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:295d7a84-a09b-4348-8961-a1e1764c190e", "resolution": "Fixed", "resolutionDate": "2015-11-11T09:37:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "PCP-Client fails to compile - broken puppet-agent pipeline", "timeSpent": "PT0S", "updated": "2015-11-18T14:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "body": "[~accountid:623c0c6f94742a00683e3e63] Did you see this with a specific compiler or did it just happen everywhere?", "created": "2015-11-12T08:37:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Shoot, I was working on AIX at the time, so it might've been AIX. I don't recall for sure.", "created": "2015-11-12T09:31:00.000000"}, {"author": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "body": "The unit tests core dump on AIX. I suggest we merge https://github.com/puppetlabs/cpp-pcp-client/pull/118 to be consistent with pxp-agent and facter.", "created": "2015-11-17T04:49:00.000000"}], "components": [], "created": "2015-10-28T15:43:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@46ee2e35"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz3007:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Nov/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_5391_*|*_1_*:*_1_*:*_1362542127_*|*_3_*:*_1_*:*_963119705_*|*_10009_*:*_1_*:*_646077752_*|*_5_*:*_1_*:*_9164916602_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_31915781"}], "description": "We currently default to CMAKE_BUILD_TYPE empty, meaning no optimization is enabled for builds.\n\nWhen built with CMAKE_BUILD_TYPE=Release:\n\n{code}\n1: Schema::Schema completed in 7.4e-05s\n1: \n1: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n1: cpp-pcp-client-unittests is a Catch v1.0 b53 host application.\n1: Run with -? for options\n1: \n1: -------------------------------------------------------------------------------\n1: Schema::Schema\n1:   instantiate correctly by parsing a JSON schema\n1:   it does not validate data with missing entries\n1: -------------------------------------------------------------------------------\n1: /home/travis/build/puppetlabs/cpp-pcp-client/lib/tests/unit/validator/schema_test.cc:60\n1: ...............................................................................\n1: \n1: /home/travis/build/puppetlabs/cpp-pcp-client/lib/tests/unit/validator/schema_test.cc:104: FAILED:\n1:   REQUIRE_FALSE( validateTest(bad_song, song_schema) )\n1: with expansion:\n1:   !true\n1: \n1: Completed in 4.7e-05s\n1: instantiate correctly by parsing a JSON schema completed in 7.7e-05s\n1: Schema::Schema completed in 9.2e-05s\n1: -------------------------------------------------------------------------------\n1: Schema::Schema\n1:   instantiate correctly by parsing a JSON schema\n1:   it does not validate data with invalid entries\n1: -------------------------------------------------------------------------------\n1: /home/travis/build/puppetlabs/cpp-pcp-client/lib/tests/unit/validator/schema_test.cc:60\n1: ...............................................................................\n1: \n1: /home/travis/build/puppetlabs/cpp-pcp-client/lib/tests/unit/validator/schema_test.cc:117: FAILED:\n1:   REQUIRE_FALSE( validateTest(bad_song, song_schema) )\n1: with expansion:\n1:   !true\n1: \n1: Completed in 2.7e-05s\n1: instantiate correctly by parsing a JSON schema completed in 5.5e-05s\n1: Schema::Schema completed in 7e-05s\n1: -------------------------------------------------------------------------------\n1: Schema::Schema\n1:   instantiate correctly by parsing a JSON schema\n1:   it does not validate data with undefined entries\n1: -------------------------------------------------------------------------------\n1: /home/travis/build/puppetlabs/cpp-pcp-client/lib/tests/unit/validator/schema_test.cc:60\n1: ...............................................................................\n1: \n1: /home/travis/build/puppetlabs/cpp-pcp-client/lib/tests/unit/validator/schema_test.cc:131: FAILED:\n1:   REQUIRE_FALSE( validateTest(bad_song, song_schema) )\n1: with expansion:\n1:   !true\n1: \n1: Completed in 2.7e-05s\n1: instantiate correctly by parsing a JSON schema completed in 5.4e-05s\n1: Schema::Schema completed in 6.9e-05s\n1: -------------------------------------------------------------------------------\n1: Schema::Schema\n1:   instantiate correctly by parsing a JSON schema\n1:   it validates data with undefined entries when allowed\n1: -------------------------------------------------------------------------------\n1: /home/travis/build/puppetlabs/cpp-pcp-client/lib/tests/unit/validator/schema_test.cc:60\n1: ...............................................................................\n1: \n1: /home/travis/build/puppetlabs/cpp-pcp-client/lib/tests/unit/validator/schema_test.cc:140: FAILED:\n1:   REQUIRE_FALSE( validateTest(data, schema) )\n1: with expansion:\n1:   !true\n1: \n1: Completed in 5.8e-05s\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31499", "fixedVersions": ["cpp-pcp-client 1.1.1"], "id": "31499", "issueType": "Bug", "key": "PCP-137", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Minor", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2015-12-02T09:04:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "cpp-pcp-client unit tests fail if CMAKE_BUILD_TYPE=Release", "timeSpent": "PT0S", "updated": "2016-03-17T11:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "[~accountid:557058:29f801b5-e0f5-4278-a19b-0e5101f2094d] AIX seems to run into a ordering issue in tests with\n\n{code}\n1: Test command: /var/tmp/tmp.JCQSmgQgYF/pxp-agent/bin/pxp-agent-unittests\n1: Test timeout computed to be: 9.99988e+06\n1: can instantiate completed in 0.000244s\n1: PIDFile ctor completed in 0.000308s\n1: terminate called after throwing an instance of 'PXPAgent::Util::PIDFile::Error'\n1:   what():  '/var/tmp/tmp.JCQSmgQgYF/pxp-agent/lib/tests/resources/test_spool/run/foo/bar' doesn't exist. Cannot create PID file\n1/1 Test #1: pxp-agent library tests ..........***Exception: Other  0.31 sec\n{code}\n\nAny suggestions?\n\nUpdate: nevermind, the exception is expected but should not cause terminate. This is a known issue on AIX, see FACT-1239.", "created": "2015-10-28T16:09:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Failed CI on Windows (PA-42, PCP-138), and Solaris 10.", "created": "2015-10-29T10:43:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Failed daily CI on el-4.", "created": "2015-10-29T16:34:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Added https://github.com/puppetlabs/pxp-agent/pull/208\nwhere REQUIRE_THROWS is replaced by REQUIRE_THROWS_AS.\nNote that the mentioned unit test is formally correct in its assertion.", "created": "2015-10-30T07:49:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Removed unit tests in https://github.com/puppetlabs/pxp-agent/pull/209.", "created": "2015-10-30T10:08:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Tested on pe-aix-71-client\n\npuppet-agent 4c92898c5bde18911e9cfde820c3dd6049941c1e\npxp-agent 0.1.0-351-ga428201\n\nI raised PA-63 as the pxp-agent service will not start - but it was still possible to test pxp-agent by running it directly as an executable.\n\nMarking this ticket as Done as that fault with the service is not due to the changes done in this ticket", "created": "2015-11-06T10:32:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Updated fixversions as commits were made to both pxp-agent and cpp-pcp-client", "created": "2015-11-13T12:34:00.000000"}], "components": [], "created": "2015-10-28T12:06:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3355b00c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Contact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker", "value": "623e76baee1b5a00702a7275"}, {"fieldName": "QA Highest Test Level", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Acceptance"}, {"fieldName": "QA Highest Test Level Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Manual acceptance test of AIX should be done per-release"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Medium"}, {"fieldName": "QA Risk Probability Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "AIX testing not in CI"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "High"}, {"fieldName": "QA Risk Severity Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "pxp-agent may not work at all on AIX"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2u5b:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Issues in AIX builds"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "30/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_3_*:*_148062927_*|*_1_*:*_1_*:*_4307_*|*_10007_*:*_3_*:*_11882953_*|*_3_*:*_2_*:*_60104471_*|*_5_*:*_1_*:*_1049788441_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_2_*:*_555508408"}], "description": "Get cpp-pcp-client and pxp-agent running and passing unit tests on AIX.\n\nWith the attached PRs, cpp-pcp-client and pxp-agent build, using static libraries linked into the pxp-agent executable. Unit tests for cpp-pcp-client pass on AIX, but the pxp-agent unit test terminates due to a known issue with GCC on AIX noted in FACT-1239.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31851", "fixedVersions": ["cpp-pcp-client 1.0.1", "pxp-agent 1.0.0"], "id": "31851", "issueType": "Task", "key": "PCP-136", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2015-11-06T10:32:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "AIX Porting", "timeSpent": "PT0S", "updated": "2015-11-18T14:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "This is already being tracked as PCP-129.  Closing as duplicate", "created": "2015-10-28T10:25:00.000000"}], "components": ["pxp-agent"], "created": "2015-10-28T10:23:00.000000", "creator": "6361cbfc59c794184bcbd33a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@68876513"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2sfj:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_172619_*|*_6_*:*_1_*:*_0"}], "description": "If I trigger a puppet run via pxp-agent and then restart pxp-agent, it seems to forever report that puppet is still running. It should probably clean up the list of running tasks on startup, if there's no way to recover the correct status of those tasks.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31763", "fixedVersions": [], "id": "31763", "issueType": "Bug", "key": "PCP-135", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "6361cbfc59c794184bcbd33a", "resolution": "Duplicate", "resolutionDate": "2015-10-28T10:25:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent seems to \"forget\" about running tasks when stopped", "timeSpent": "PT0S", "updated": "2015-11-09T04:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "[~accountid:557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced] replaced rsync_to with scp_to and removed the entire section quoted in the description above from Rakefile\n\nNothing to do here, so marking as 0 points Done", "created": "2015-11-12T05:14:00.000000"}], "components": [], "created": "2015-10-28T07:34:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@50044f5b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2ti7:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Fixed incidentally, so moving into current sprint and closing."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "0.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1291154883_*|*_5_*:*_1_*:*_550500950_*|*_6_*:*_1_*:*_0"}], "description": "See https://github.com/puppetlabs/pxp-agent/blob/master/acceptance/Rakefile\n\nHacky code is used to make sure the standard GitHub ssh key is available to beaker during execution on Jenkins.\nThis recently started to fail on local runs - a call to beaker's rsync_to (see [here|https://github.com/puppetlabs/pxp-agent/blob/master/acceptance/setup/common/020_Configure_Pxp_Agents.rb#L3]) started to halt and challenge for a password.\n\nWorkaround is to make the hacky code dependent on an env variable to indicate that we're running locally...\n{code}      # TODO (JS) - This no longer works for local execution and must be skipped.\n      if not ENV['LOCAL_EXECUTION']\n        `ssh-agent -t 24h -s`\n          .split.map{|e| e.tr(';', '')}\n          .map{|e| e.split('=') }\n          .select{|e| e.length == 2 && e[0] =~ /[A-Z]+$/ }\n          .each {|e| ENV[e[0]] = e[1] }\n        `ssh-add \"${HOME}/.ssh/id_rsa\"`\n      end{code}\n\nFix this up - replace with more readable code that works both locally and on Jenkins, or fix the setup so it's not needed", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32116", "fixedVersions": ["pxp-agent 1.0.0"], "id": "32116", "issueType": "Bug", "key": "PCP-171", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2015-11-18T14:09:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent acceptance tests through rake may fail on rsync_to", "timeSpent": "PT0S", "updated": "2016-05-25T17:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [{"author": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "body": "One solution on the Windows side would be to use NSSM and capture stdout / send it to the same log file as where pxp-agent logs.  I tested this feature locally by setting the registry key responsible for redirection in NSSM, and it worked as expected in some minimal testing.  Enabling this would be a minor change to Windows packaging.\n\nHowever, a couple of reservations about doing that:\n\n* We're new to NSSM, and don't have any long-term usage under our belt to know if there are any side-effects to the redirection.  The stream redirection code (which uses [DuplicateHandle|https://msdn.microsoft.com/en-us/library/windows/desktop/ms724251(v=vs.85).aspx] is in NSSMs [io.c|https://git.nssm.cc/?p=nssm.git", "created": "2015-10-28T08:30:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Facter is a bit different, as we don't have an option to log to a file. We initialize logging as early as possible, but if it throws an exception then some messages will be printed to stderr.\n\nThis seems like a situation where the Event Log would be the best destination, but we don't have that option yet. One way to take advantage of NSSM's reporting is to return different exit codes based on configuration errors", "created": "2015-10-28T10:09:00.000000"}, {"author": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "body": "+1 on Michael's idea of using a distinct exit code for configuration errors in initial release. And one more reason to switch to the Event Log for the next release :)\n", "created": "2015-10-30T11:31:00.000000"}, {"author": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "body": "Thanks for pointing out a few details I missed [~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] and [~accountid:557058:29f801b5-e0f5-4278-a19b-0e5101f2094d].  I think it does make sense to fall back to the default log path, when the the config file cannot be parsed.\n\nA specific exit code for bad configuration is also a great idea - an interesting note about this is that the message shows up in the {{Application}} log rather than the {{System}} log.  The message looks like\n\n{quote}\nProgram C:\\Program Files\\Puppet Labs\\Puppet\\pxp-agent\\bin\\pxp-agent.exe for service pxp-agent exited with return code 1.\n{quote}\n\nThis will be something we want to document for support, etc.\n\nAnother interesting note is that the NSSM docs say that we can change the restart behavior based on exit code, which is great.  This will help us when it comes to RE-5869:\n\n{quote}\nTo specify a different action for particular exit codes, create a string (REG_SZ) value underneath the AppExit key whose name is the exit code being considered. For example to stop the service on an exit code of 0 (which usually means the application finished successfully), create HKLM\\System\\CurrentControlSet\\Services\\servicename\\Parameters\\AppExit\\0 and set it to Exit. Look in the Event Log for messages from nssm to see what exit codes are returned by your application.\n\nIf your application's exit code does not correspond to a registry entry, nssm will use the default value of AppExit when deciding what to do.\n{quote}", "created": "2015-11-01T11:08:00.000000"}, {"author": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "body": "FYI - I have manually verified with {{puppet-agent-1.2.7.361.ga13529b-x64.msi}} that both default logging and exit status of 2 are working properly in my environment when given a bad config file.", "created": "2015-11-04T08:38:00.000000"}], "components": ["pxp-agent"], "created": "2015-10-27T15:20:00.000000", "creator": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@96b1a9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Contact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker", "value": "623e76baee1b5a00702a7275"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyoagn:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_80594702_*|*_1_*:*_1_*:*_503370085_*|*_10007_*:*_1_*:*_2123709_*|*_3_*:*_1_*:*_2464588_*|*_5_*:*_1_*:*_1148743001_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_162803639"}], "description": "While performing QA validation, [~accountid:557058:79f2fdd6-baee-43c4-91af-c7e647173c95] triggered PE-12661.\n\nAs I was helping him debug the issue, I suggested we take a look at the log to see if anything was emitted by pxp-agent.exe.  Unfortunately, despite there being an invalid configuration file, the log file was empty.  Further, NSSM simply logged that the service was started, and can't ever possibly know what's wrong with the wrapped pxp-agent executable.\n\nSo in this scenario, a user has no easy way to determine what the failure is.\n\nSo either there needs to be some earlier logging, or the log level is too low by default for configuration issues.\n\nI was also surprised to see that nothing was logged when the process started or exited.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31671", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31671", "issueType": "Bug", "key": "PCP-134", "labels": ["windows"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "resolution": "Fixed", "resolutionDate": "2015-11-05T07:03:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent does not log configuration errors that prevent it from running", "timeSpent": "PT0S", "updated": "2015-11-18T14:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "I'm not sure if this was already addressed in other recent tickets.\nFor the sake of organizing, I'm adding this to the \"Broker Reliability\" epic.", "created": "2016-05-31T10:19:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Message queueing was removed in pcp-broker 1.0.0.", "created": "2017-01-06T13:22:00.000000"}], "components": ["pcp-broker"], "created": "2015-10-27T10:22:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2c8b28ac"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "PCP-435"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyonzb:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "31/May/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_37771211370_*|*_6_*:*_1_*:*_0"}], "description": "In the current queue-based implementation of pcp-broker, if a client is not connected to the broker when a message is to be delivered to it we compute a retry interval and queue again to the delivery queue using the interval as a delay property.\n\nThis may lead to an unexpected sequence of message deliveries, if message A is sent while client Y is not connected, then Y connects, then a message B is sent.  Delivery order could be B, A (opportunistic delivery of B, then deferred delivery of A).\n\nIf possible, on association, consume and deliver all messages for a given uri ignoring the future delay.", "epicLinkSummary": "PCP Broker Reliability", "estimate": "PT0S", "externalId": "32113", "fixedVersions": [], "id": "32113", "issueType": "Improvement", "key": "PCP-133", "labels": [], "originalEstimate": "PT0S", "parent": "31934", "parentSummary": "PCP Broker Reliability", "priority": "Minor", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Won't Do", "resolutionDate": "2017-01-06T13:22:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "On connect, pending messages should be retrieved from the delivery queue", "timeSpent": "PT0S", "updated": "2017-01-06T13:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "attachments": [], "comments": [{"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "Validated using {{puppet-agent}} at SHA {{7a9bb17}} containing {{pxp-agent}} at SHA {{bbf7d7d}}. Tested with {{clj-pxp-puppet}}\n\nWith pxp-agent running on client01\n{code}\n[root@y61fxm2kw2hjida modules]# service pxp-agent status\nRedirecting to /bin/systemctl status  pxp-agent.service\npxp-agent.service - PCP Execution Protocol (PXP) Agent\n   Loaded: loaded (/usr/lib/systemd/system/pxp-agent.service", "created": "2015-10-29T13:47:00.000000"}], "components": ["pcp-broker"], "created": "2015-10-27T05:15:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@203c94f4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyoacv:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Surprising behaviour of api consumer"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "29/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_93266054_*|*_1_*:*_1_*:*_9793_*|*_10007_*:*_1_*:*_2518344_*|*_3_*:*_1_*:*_4350415_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_103387821"}], "description": "Currently the inventory query responds with the query of all known nodes, where known is all the identities of agents that have successfully associated with the broker since restart.\n\nThis is commonly and frequently misunderstood to be the identities of agents that are currently, or have been recently been connected to the broker, leading to surprises.\n\nUpdate the api to report based on active websockets sessions that match the query, and tweak the specification to reflect this if needed.\n\nhttps://github.com/puppetlabs/pcp-specifications/blob/master/pcp/inventory.md", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31496", "fixedVersions": ["pcp-broker 0.6.0"], "id": "31496", "issueType": "Improvement", "key": "PCP-132", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2015-10-29T13:47:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "make inventory queries respond with the subset of actively connected nodes", "timeSpent": "PT0S", "updated": "2015-11-11T03:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Any plans for scheduling this task after Burnside  [~accountid:557058:3bbf1c83-df0e-4372-887d-cfc38dee9330]?", "created": "2016-02-24T03:31:00.000000"}], "components": [], "created": "2015-10-26T17:41:00.000000", "creator": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@40939b55"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hymbdj:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Release Engineering"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "24/Feb/16"}], "description": "It looks like this may include dropping a config file in either /etc/asl/ or /etc/newsyslog.d/. ", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31997", "fixedVersions": [], "id": "31997", "issueType": "Task", "key": "PCP-131", "labels": ["logrotate", "macos"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "status": "Ready for Engineering", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add pxp-agent log rotation for OS X", "timeSpent": "PT0S", "updated": "2018-05-10T17:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Any plans for scheduling this task after Burnside  [~accountid:557058:3bbf1c83-df0e-4372-887d-cfc38dee9330]?", "created": "2016-02-24T03:31:00.000000"}], "components": [], "created": "2015-10-26T16:23:00.000000", "creator": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@22184ffc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hymbdr:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Release Engineering"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "24/Feb/16"}], "description": "It looks like /etc/logadm.conf entries can be managed via `logadm` commands.\n\nTo add an /etc/logadm.conf entry:\n{code}\nlogadm -w /var/log/puppetlabs/pxp-agent/pxp-agent.log -C 30 -p 1d -a 'pkill -USR2 pxp-agent; true'\n{code}\nTo remove an /etc/logadm.conf entry:\n{code}\nlogadm -r /var/log/puppetlabs/pxp-agent/pxp-agent.log\n{code}\n\nThere may be some prerequisite Vanagon work needed for this.\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32111", "fixedVersions": [], "id": "32111", "issueType": "Task", "key": "PCP-130", "labels": ["logrotate", "service", "solaris"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "status": "Ready for Engineering", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add pxp-agent log rotation for Solaris 10 and 11", "timeSpent": "PT0S", "updated": "2020-07-07T11:36:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2015-10-26T10:29:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@53f4c8d2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2s93:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Found as result of PCP-118"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_7308_*|*_10007_*:*_1_*:*_9421_*|*_3_*:*_1_*:*_3042996_*|*_5_*:*_1_*:*_1894185330_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_106741228"}], "description": "In the future the structure of the output may change. If we place a version field in there now we can prevent some pain down the line.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31812", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31812", "issueType": "Bug", "key": "PCP-128", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Fixed", "resolutionDate": "2015-10-27T16:59:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add version field to pxp-module-puppet's output", "timeSpent": "PT0S", "updated": "2015-11-18T14:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2015-10-26T07:48:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@77264fbb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyoacn:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Cleanup for Code Complete"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "26/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_10021112_*|*_1_*:*_1_*:*_99510059_*|*_10007_*:*_1_*:*_93985_*|*_3_*:*_1_*:*_67722519_*|*_5_*:*_1_*:*_1732551803_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_103718893"}], "description": "pxp-module-puppet always populates it response with \"error_type\" and \"error\". It would be more meaningful if these fields optional and only added in case of an actual error.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31760", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31760", "issueType": "Bug", "key": "PCP-127", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Fixed", "resolutionDate": "2015-10-29T13:53:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Don't add \"error_type\" and \"error\" on successful execution", "timeSpent": "PT0S", "updated": "2015-11-18T14:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "attachments": [], "comments": [], "components": ["pcp-broker"], "created": "2015-10-26T04:33:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3ef8d7d1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyoacf:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "pcp-broker bandwidth"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_81984025_*|*_1_*:*_1_*:*_101029009_*|*_10007_*:*_1_*:*_179619_*|*_3_*:*_1_*:*_5866343_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_107413840_*|*_10006_*:*_1_*:*_2798"}], "description": "Currently redelivery time of messages is computed by subtracting the expiry time by the current time, and then taking about half of that time as a delay to deliver again.  If the expiry is a significant amount of time in the future, that could mean big windows where we could have delivered a message, but it was paused on redelivery.\n\nRevisit the scheduling of these delivery attempts, maybe implement an upper limit of <15 seconds.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31495", "fixedVersions": ["pcp-broker 0.6.0"], "id": "31495", "issueType": "Improvement", "key": "PCP-126", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2015-10-29T14:54:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "redelivery schedule should be revisited", "timeSpent": "PT0S", "updated": "2015-11-10T14:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Noticed the following behaviour, that blocks completion of acceptance tests for this:\n\npxp-agent 63d35fdb in puppet-agent 12b02f7b573479284e00a4f52611a7dfd7ce460b\n\n*To reproduce:*\n * Set up a broker\n * Install pxp-agent and give it a valid config file\n ** Start it and verify that it associates with the broker\n * Stop pxp-agent\n * Edit the pxp-agent config and change _ssl-cert_ to point to a different cert (i.e. one that is a valid cert file, but does not pair with the configured _ssl-key_ )\n * Start pxp-agent\n\n*Expected behaviour:*\n * Log that the keys mismatch and (consistent with other SSL faults like a file not existing) start the agent in unconfigured mode\n\n*Actual behaviour:*\n * The error is logged:\n{noformat}2015-10-30 03:21:28.169435 INFO  puppetlabs.cpp_pcp_client.connection:295 - WebSocket TLS initialization event", "created": "2015-10-30T04:45:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Acceptance tests added: https://github.com/puppetlabs/pxp-agent/blob/master/acceptance/tests/invalid_ssl_config.rb", "created": "2015-11-06T09:13:00.000000"}], "components": ["pxp-agent"], "created": "2015-10-23T08:10:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4bbf2a84"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Contact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker", "value": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b"}, {"fieldName": "QA Highest Test Level", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Acceptance"}, {"fieldName": "QA Highest Test Level Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Worth testing in pxp-agent packages that we fail with invalid SSL keys/certs"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Medium"}, {"fieldName": "QA Risk Probability Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "The code changed by this ticket does not appear to be at risk of regressing; but there should be some testing in the general area of SSL config"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Medium"}, {"fieldName": "QA Risk Severity Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Realistic that users will encounter key/certs problems, and software must fail cleanly in this case"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyoac7:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Must fix this for code complete"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "30/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_510936985_*|*_1_*:*_1_*:*_4297_*|*_10007_*:*_2_*:*_5276060_*|*_3_*:*_2_*:*_7476836_*|*_5_*:*_1_*:*_1054507105_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_2_*:*_430351563_*|*_10004_*:*_1_*:*_262934269"}], "description": "Currently, the Connection class just logs possible SSL context validation errrors (boost::asio errors via websocket++); it should raise an error instead to prevent misconfigured WebSocket connections.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31810", "fixedVersions": ["cpp-pcp-client 1.0.1", "pxp-agent 1.0.0"], "id": "31810", "issueType": "Bug", "key": "PCP-125", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2015-11-06T09:13:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent should not try to establish a WebSocket connection if SSL is misconfigured", "timeSpent": "PT0S", "updated": "2015-11-18T14:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "Some CI builds are failing the tests added for this behaviour - \n\n{code}\nlein test :only puppetlabs.pcp.broker.service-test/it-expects-ssl-client-auth-test\n\nFAIL in (it-expects-ssl-client-auth-test) (service_test.clj:78)\nDisconnected due to no client certificate\nexpected: (= [4003 \"No client certificate\"] (deref closed (* 2 1000) false))\n  actual: (not (= [4003 \"No client certificate\"] [1006 \"Connection was closed abnormally (that is, with no close frame being sent).\"]))\n2015-10-27 09:23:00,875 ERROR [o.a.a.b.BrokerService] Temporary Store limit is 50000 mb, whilst the temporary data directory: /var/lib/jenkins/workspace/enterprise_pcp-broker_unit-clj_master/JDK/openjdk7/label/unit/test-resources/tmp/spool/localhost/tmp_storage only has 36767 mb of usable space\n2015-10-27 09:23:03,628 ERROR [o.a.a.b.BrokerService] Temporary Store limit is 50000 mb, whilst the temporary data directory: /var/lib/jenkins/workspace/enterprise_pcp-broker_unit-clj_master/JDK/openjdk7/label/unit/test-resources/tmp/spool/localhost/tmp_storage only has 36767 mb of usable space\n2015-10-27 09:23:07,390 ERROR [o.a.a.b.BrokerService] Temporary Store limit is 50000 mb, whilst the temporary data directory: /var/lib/jenkins/workspace/enterprise_pcp-broker_unit-clj_master/JDK/openjdk7/label/unit/test-resources/tmp/spool/localhost/tmp_storage only has 36767 mb of usable space\n{code}\n\nThis is at least a little race-y, so will dig into a better test.", "created": "2015-10-27T10:37:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "I've isolated the race as being between our test client (implemented in terms of netty via https://github.com/cch1/http.async.client) and the timing of events in the on-connect handler.\n\nUsing N and J for our actors (N the netty client, J the jetty server):\n\nIn a working universe:\n\n* (1) N initiates connection\n* (2) J+N do websockets handshake\n* (3) N knows its websockets connection is established \n* (4) J on-connect handler sees that the client was not via ssl, disconnects the client with code 4003\n* (5) N gets disconnect message, reports to user\n\nBut there's a race possible, where (4) happens before (3) due to thread scheduling.  We see this more on linux.  This then breaks down:\n\n* (1) N initiates connection\n* (2) J+N do websockets handshake\n* (3) J on-connect handler sees that the client was not via ssl, disconnects the client with code 4003\n* (4) N trying to complete the websockets handshake finds the connection has been disconnected already, reports 1006 \"Connection was closed abnormally (that is, with no close frame being sent).\"\n \nThis voodoo-ish sleep delays the disconnect in on-connect, and gives time for netty to get in sync.  https://github.com/richardc/pcp-broker/commit/98492f55b712c09b3209f261774b5392131c5535\n\nI'll see if later versions of netty handle this more correctly, though the best fix for now may be to accept that we can't test accurately for this, accept 4003 and 1006, but log some form of todo test when it is 1006", "created": "2015-10-28T04:42:00.000000"}], "components": ["pcp-broker"], "created": "2015-10-23T07:50:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@36724924"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2rlr:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Found during testing"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_77130376_*|*_1_*:*_1_*:*_266795923_*|*_10007_*:*_2_*:*_2577071_*|*_3_*:*_2_*:*_81702674_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_6509755"}], "description": "In the case of a miss matched cert/key pair on a client when establishing a connection to the broker, the broker will fail to terminate the connection.\n\nGiven a wonky key/cert pair\n\n{code}\n{\n    \"broker-ws-uri\" : \"wss://localhost:8142/pcp/\",\n    \"ssl-ca-cert\" : \"/Users/psy/work/pcp-broker/test-resources/ssl/certs/ca.pem\",\n    \"ssl-cert\" : \"/etc/puppetlabs/puppet/ssl/certs/guinivere.pem\",\n    \"ssl-key\" : \"/Users/psy/.ssh/id_rsa.pub\"\n}\n{code}\n\nThe websocket connection stays open.\n\n{code}\n\n2015-10-23 14:36:19.017271 ERROR puppetlabs.cpp_pcp_client.connection:305 - Failed to configure TLS: use_private_key_file: no start line\n2015-10-23 14:36:19.155873 DEBUG puppetlabs.cpp_pcp_client.connection:355 - WebSocket on open event - connection timings: TCP 1906 us, WS handshake 135199 us, overall 138975 us\n2015-10-23 14:36:19.155992 INFO  puppetlabs.cpp_pcp_client.connection:356 - WebSocket connection established\n2015-10-23 14:36:19.162388 INFO  puppetlabs.cpp_pcp_client.connector:246 - Creating message with id 1ef41533-c542-42e1-9509-eb5a4841d5f3 for 1 receiver\n2015-10-23 14:36:19.162544 INFO  puppetlabs.cpp_pcp_client.connector:293 - Sending Associate Session request\n2015-10-23 14:36:19.162642 DEBUG puppetlabs.cpp_pcp_client.connector:169 - Sending message of 209 bytes:\n1size: 203 bytes - content: {\"id\":\"1ef41533-c542-42e1-9509-eb5a4841d5f3\",\"message_type\":\"http://puppetlabs.com/associate_request\",\"targets\":[\"pcp:///server\"],\"expires\":\"2015-10-23T13:36:29.162128Z\",\"sender\":\"pcp://guinivere/agent\"}\n2015-10-23 14:36:19.168040 WARN  puppetlabs.cpp_pcp_client.connector:394 - Received error 2e4cd900-8aa9-4f99-9969-0011b6720d2a from pcp:///server (the id of the message that caused it is unknown): Error :schema.core/error handling message: Input to validate-certname does not match schema: [nil (named (not (instance? java.lang.String nil)) certname)]\n2015-10-23 14:36:19.217893 INFO  puppetlabs.cpp_pcp_client.connection:169 - Successfully established a WebSocket connection with the PCP broker\n2015-10-23 14:36:34.215268 DEBUG puppetlabs.cpp_pcp_client.connector:428 - Sending heartbeat ping\n2015-10-23 14:36:34.217238 DEBUG puppetlabs.cpp_pcp_client.connection:330 - WebSocket onPong event\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31755", "fixedVersions": ["pcp-broker 0.6.0"], "id": "31755", "issueType": "Bug", "key": "PCP-124", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Fixed", "resolutionDate": "2015-10-28T08:35:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "When ssl is misconfigured, broker doesn't kill websocket connection", "timeSpent": "PT0S", "updated": "2016-08-17T17:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2015-10-23T03:56:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@59cd4269"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Contact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker", "value": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Risk Probability Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Code is not complex or likely to change frequently."}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Medium"}, {"fieldName": "QA Risk Severity Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "A fault in params may prevent "}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2rlb:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Needed to complete PCP-117"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_16680528_*|*_1_*:*_1_*:*_17275_*|*_3_*:*_1_*:*_3442805_*|*_5_*:*_1_*:*_2015924318_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_250675418"}], "description": "In PCP-86 we decided to removed all default flags passed to the agent run. After discussions in PCP-86 and https://github.com/puppetlabs/pxp-agent/pull/164 we determined that it wasn't a great idea to potentially allow a run to start without --onetime and --no-daemonize.\n\nPCP-117 would require us to always add --verbose to a agent run so that we can inspect the output. \n\nWe should add the following flags by default:\n\n{{--onetime}}\n{{--no-daemonize}}\n{{--verbose}}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31493", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31493", "issueType": "Bug", "key": "PCP-123", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Fixed", "resolutionDate": "2015-10-26T07:10:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add default flags back to puppet runs", "timeSpent": "PT0S", "updated": "2015-11-18T14:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Looks like puppet's init scripts do the same, e.g. https://github.com/puppetlabs/puppet/blob/master/ext/redhat/client.init#L16-L17, and I'd expect the same sort of problems when running puppet daemonized. The change was made in https://github.com/puppetlabs/puppet/commit/b8fa8bf9de6c73fd4c2407d79050fefec73f2696. Perhaps it should be prepending {{/opt/puppetlabs/bin}} instead (the public bin dir)? /cc [~accountid:557058:b6301e26-c165-42d0-ab3a-59124339555e] [~accountid:557058:3bbf1c83-df0e-4372-887d-cfc38dee9330]", "created": "2015-10-22T16:39:00.000000"}, {"author": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "body": "After further review/discussion with [~accountid:63d4062f69c7ae3958d276ed] and [~accountid:557058:b6301e26-c165-42d0-ab3a-59124339555e], it looks like the PATH definitely can and should be removed entirely from the pxp-agent init scripts. We suspect the same applies to puppet's init scripts. ", "created": "2015-10-22T18:57:00.000000"}, {"author": "63d40635a05386069cdb69d6", "body": "merged at https://github.com/puppetlabs/pxp-agent/commit/ce75186bddcd0522df363a324fa421b9b54fd0dc", "created": "2015-10-22T20:25:00.000000"}], "components": ["pxp-agent"], "created": "2015-10-22T16:30:00.000000", "creator": "6361cbfc59c794184bcbd33a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2f75bd31"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2rfz:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Release Notes Summary", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "Issue found and fixed before PCP/PXP GA release."}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Issue discovered during exploratory testing"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Release Engineering"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_353140854_*|*_1_*:*_1_*:*_195838_*|*_10007_*:*_1_*:*_4527894_*|*_3_*:*_1_*:*_9418692_*|*_5_*:*_1_*:*_1960636823_*|*_6_*:*_1_*:*_0"}], "description": "Currently, several of the pxp-agent init scripts prepend /opt/puppetlabs/puppet/bin to the PATH variable and export it. This causes puppet agent runs triggered by pxp-module-puppet to inherit that PATH, which means that many puppet resources operate in the context of hte private puppet-agent binaries. Since this includes many common tools like gem, java, openssl, etc, it leads to wrong behavior (for instance, all ruby gems are installed via the puppet gem command).\n\nTo avoid this sort of contamination, the PATH either shouldn't be modified that way or shouldn't be exported.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31808", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31808", "issueType": "Bug", "key": "PCP-122", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "6361cbfc59c794184bcbd33a", "resolution": "Fixed", "resolutionDate": "2015-10-26T22:31:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent exported PATH shouldn't include /opt/puppetlabs/puppet/bin", "timeSpent": "PT0S", "updated": "2016-08-17T16:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "/cc [~accountid:63d40635a05386069cdb69d6] I'm planning to look at this today and Monday.", "created": "2015-10-23T10:10:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "The GCC visibility attribute doesn't appear to be supported on AIX yet. I'm creating a new ticket for a different approach to resolve RE-5610. This work is still useful eventually, but the short-term fix may be to use static libraries.\n\nSource on AIX symbol visibility: http://www.ibm.com/developerworks/aix/library/au-aix-symbol-visibility/.", "created": "2015-10-26T17:08:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "dllexport with Horsewhisperer's header-only singleton class is problematic, I'm not sure how to fix it on Windows yet. Side-lined because it also doesn't help with the AIX problem.", "created": "2015-10-27T14:42:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "As pxp-agent uses a static library, this should only be necessary for cpp-pcp-client. I'll reinstate the PR for this.", "created": "2015-11-04T12:05:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I suggest we schedule this for post 1.0.0.", "created": "2015-11-04T12:10:00.000000"}, {"author": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "body": "[~accountid:623c0c6f94742a00683e3e63] Sounds reasonable. Do we need to keep https://github.com/puppetlabs/cpp-pcp-client/pull/105 open?", "created": "2015-11-06T06:54:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I can close until we're ready to merge it.", "created": "2015-11-06T12:42:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "I can see that this has been assigned fix version of 1.0.2.  That seems too minor a version bump for changing the public api, so this should probably have triggered a 1.1.0 release version instead.\n", "created": "2015-11-18T04:43:00.000000"}, {"author": "557058:4b02db91-705f-4691-a56a-9a839ecbce6e", "body": "Released with Puppet Agent 1.3.6", "created": "2016-03-15T11:06:00.000000"}, {"author": "557058:4b02db91-705f-4691-a56a-9a839ecbce6e", "body": "Oops, sorry. I was bulk closing tickets for the release :) I can move this back to `Resolved` if you'd like?", "created": "2016-03-15T11:45:00.000000"}], "components": ["cpp-pcp-client", "pxp-agent"], "created": "2015-10-22T12:20:00.000000", "creator": "70121:b72c16a2-594d-45f8-90bc-c6bc6c9510a8", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4feae6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz300f:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Impediment to AIX builds, have some bandwidth"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "23/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_260797514_*|*_1_*:*_1_*:*_76943711_*|*_10007_*:*_2_*:*_761233120_*|*_3_*:*_1_*:*_277281411_*|*_5_*:*_1_*:*_10459155640_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_685973136_*|*_10006_*:*_1_*:*_2192920"}], "description": "In Facter, we have {{LIBFACTER_EXPORT}} and {{LIBFACTER_NO_EXPORT}} macros to control symbol visibility. PCP should follow a similar pattern.\n\nSymbol visibility control can lead to greatly reduced library size on Windows (all the suepr-long mangled names for C++ types and functions can become surprisingly large), and also prevents performance degradation on AIX", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32188", "fixedVersions": ["cpp-pcp-client 1.0.2", "cpp-pcp-client 1.1.0"], "id": "32188", "issueType": "Improvement", "key": "PCP-121", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "70121:b72c16a2-594d-45f8-90bc-c6bc6c9510a8", "resolution": "Fixed", "resolutionDate": "2015-11-15T08:47:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "PCP should ensure only needed symbols are exported from libraries", "timeSpent": "PT0S", "updated": "2016-03-15T11:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "This is what we can get out the box:\nhttps://github.com/zaphoyd/websocketpp/blob/master/websocketpp/transport/asio/base.hpp#L163-L208\n\nAs an example, in case the pcp-broker is not running, we can log:\n\nbq. 2015-10-23 10:17:49.441242 TRACE puppetlabs.cpp_pcp_client.connection:298 - WebSocket TLS initialization event\nbq. 2015-10-23 10:17:49.444382 DEBUG puppetlabs.cpp_pcp_client.connection:339 - WebSocket on fail event, time to failure 3169 us: Underlying Transport Error (websocketpp.transport.asio:3)\nbq. 2015-10-23 10:17:49.645211 WARN  puppetlabs.cpp_pcp_client.connection:194 - Failed to establish a WebSocket connection", "created": "2015-10-23T03:19:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "Can websocketpp.transport.asio:3 be mapped into something a user might more readily understand, like 'Connection Refused'?", "created": "2015-10-23T03:29:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Mapping error 3 to something else would be speculating I'm afraid. Yes, it seems very general being mapped to \"Underlying Transport Error\" by websocket++.", "created": "2015-10-23T03:33:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "In case of WebSocket authentication error, we get:\n\nbq. 2015-10-23 16:42:00.999007 INFO  puppetlabs.cpp_pcp_client.connection:351 - WebSocket on fail event, time to failure 15389 us: TLS handshake failed (websocketpp.transport.asio.socket:8)\n\nWhich is makes more sense.\nI'll add the error code as well (1006 in this case - it doesn't say much, refer http://tools.ietf.org/html/rfc6455#section-11.7).", "created": "2015-10-23T10:09:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "Verified using {{puppet-agent}} at SHA {{f19f8d8a190c559924c2b7506f4cdd2e86e60b48}} containing {{pxp-agent}} at SHA {{4739714}}\n\n{code}\n2015-10-27 15:49:14.177683 WARN  puppetlabs.cpp_pcp_client.connector:424 - WebSocket connection to PCP broker lost", "created": "2015-10-27T16:53:00.000000"}], "components": ["cpp-pcp-client"], "created": "2015-10-22T11:06:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7aaaa7ee"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2r1z:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Found during acceptance testing / nice to fix for Ankeny code complete"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "23/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_4917800_*|*_10007_*:*_1_*:*_239844131_*|*_3_*:*_1_*:*_79077942_*|*_5_*:*_1_*:*_1894559272_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_128923149"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31558", "fixedVersions": ["cpp-pcp-client 1.0.1"], "id": "31558", "issueType": "Bug", "key": "PCP-120", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Fixed", "resolutionDate": "2015-10-27T16:53:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent should log why it can't connect to a broker", "timeSpent": "PT0S", "updated": "2015-11-18T14:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "https://github.com/puppetlabs/pxp-agent/blob/master/acceptance/tests/service_stop_start.rb", "created": "2015-10-23T08:15:00.000000"}], "components": ["QA"], "created": "2015-10-22T07:35:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3c66af56"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2qzb:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Low hanging, and doing this satisfies acceptance testing for several tickets already in scope"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2362372_*|*_3_*:*_1_*:*_86471754_*|*_5_*:*_1_*:*_2271189886_*|*_6_*:*_1_*:*_0"}], "description": "https://testrail.ops.puppetlabs.net/index.php?/suites/view/375&group_by=cases:section_id&group_id=19029&group_order=asc\n\nIncludes tests for with/without pxp-agent config", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31752", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31752", "issueType": "Task", "key": "PCP-116", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2015-11-18T14:09:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent service stop/start acceptance tests", "timeSpent": "PT0S", "updated": "2016-07-06T17:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Looks good to me.\n\nThe new log entry :type is not visible in the default STDOUT log but can be seen by changing to JSON logging\n\n{noformat}<configuration scan=\"true\">\n  <appender name=\"STDOUT\" class=\"ch.qos.logback.core.ConsoleAppender\">\n    <encoder class=\"net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder\">\n      <providers>\n        <timestamp/>\n        <message/>\n        <loggerName/>\n        <threadName/>\n        <logLevel/>\n        <logLevelValue/>\n        <stackTrace/>\n        <logstashMarkers/>\n      </providers>\n    </encoder>\n  </appender>\n\n  <logger name=\"org.eclipse.jetty.server\" level=\"warn\"/>\n  <logger name=\"org.eclipse.jetty.util.log\" level=\"warn\"/>\n  <logger name=\"puppetlabs.pcp.broker\" level=\"trace\"/>\n\n  <root level=\"info\">\n    <appender-ref ref=\"STDOUT\" />\n  </root>\n</configuration>{noformat}", "created": "2015-10-27T10:29:00.000000"}], "components": ["pcp-broker"], "created": "2015-10-22T04:50:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@337d70f7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Contact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker", "value": "623e76baee1b5a00702a7275"}, {"fieldName": "QA Highest Test Level Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Test manually once"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Risk Probability Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Should not regress in future"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Medium"}, {"fieldName": "QA Risk Severity Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "A fault with logging would put customer in a difficult-to-support situation"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2qyf:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_2724074_*|*_1_*:*_1_*:*_7624_*|*_10007_*:*_1_*:*_4335813_*|*_3_*:*_1_*:*_359780241_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_85483027"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32233", "fixedVersions": ["pcp-broker 0.6.0"], "id": "32233", "issueType": "Sub-task", "key": "PCP-115", "labels": [], "originalEstimate": "PT0S", "parent": "32011", "parentSummary": "Logging pass", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2015-10-27T10:29:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pcp-broker logging", "timeSpent": "PT0S", "updated": "2015-10-27T10:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "On POSIX, pxp-agent does not create a PID file when running in {{foreground}} mode. On Windows, it never creates one.\n\n[~accountid:623c0c6f94742a00683e3e63], we agreed to not write the PID file (on POSIX) in {{foreground}} mode during the PCP-17 [PR #151|https://github.com/puppetlabs/pxp-agent/pull/151] discussion. However, that could be done by ensuring that the {{pidfile}} of the foreground instance that is about to start does not exist.\n\n[~accountid:557058:3bbf1c83-df0e-4372-887d-cfc38dee9330] has made a [PR #17|https://github.com/puppetlabs/pxp-agent/pull/171] for PCP-6 that enables the logrotation signalling without a PID file. So, I think the issue is now a general one: do we want to always create a PID file on POSIX? \n\n[~accountid:557058:faa23e4b-e27a-4400-a735-de76ac155413] [~accountid:557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e], thoughts?", "created": "2015-10-22T03:11:00.000000"}, {"author": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "body": "When running in foreground we should not be creating pidfile. This means that we shouldn't be creating the pidfile when running under systemd. See https://github.com/puppetlabs/pxp-agent/pull/171", "created": "2015-10-22T03:40:00.000000"}], "components": ["pxp-agent"], "created": "2015-10-21T16:52:00.000000", "creator": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5f846082"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2qtb:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_39844623_*|*_6_*:*_1_*:*_0"}], "description": "Using {{puppet-agent}} at SHA {{43d06b9}} containing {{pxp-agent}} at SHA {{3f95f72}}, running the {{pxp-agent}} service does not create a pidfile in the expected location {{/var/run/puppetlabs/pxp-agent.pid}}\n\n{code}\nRedirecting to /bin/systemctl status  pxp-agent.service\npxp-agent.service - PCP Execution Protocol (PXP) Agent\n   Loaded: loaded (/usr/lib/systemd/system/pxp-agent.service; disabled)\n   Active: active (running) since Wed 2015-10-21 14:56:35 PDT; 55min ago\n Main PID: 2302 (pxp-agent)\n   CGroup: /system.slice/pxp-agent.service\n           \u2514\u25002302 /opt/puppetlabs/puppet/bin/pxp-agent --foreground\n\nOct 21 14:56:35 tkdspv0nll6fsef systemd[1]: Started PCP Execution Protocol (PXP) Agent.\nOct 21 14:56:35 tkdspv0nll6fsef pxp-agent[2302]: A configuration error has occurred: broker-ws-uri value must be defined\nOct 21 14:56:35 tkdspv0nll6fsef pxp-agent[2302]: pxp-agent will start unconfigured\n[root@tkdspv0nll6fsef ~]# ls -l /var/log/puppetlabs/pxp-agent/pxp-agent.pid\nls: cannot access /var/log/puppetlabs/pxp-agent/pxp-agent.pid: No such file or directory\n{code}", "environment": "Centos-7-x86_64", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32038", "fixedVersions": [], "id": "32038", "issueType": "Bug", "key": "PCP-114", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "resolution": "Won't Fix", "resolutionDate": "2015-10-22T03:56:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent service does not create pidfile", "timeSpent": "PT0S", "updated": "2015-11-09T04:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "attachments": [], "comments": [{"author": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "body": "[~accountid:557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8] [~accountid:63d4062f69c7ae3958d276ed] I've opened https://github.com/puppetlabs/pxp-agent/pull/174. Could you confirm that this is the desired behaviour from both camps?", "created": "2015-10-22T06:57:00.000000"}, {"author": "557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8", "body": "[~accountid:557058:faa23e4b-e27a-4400-a735-de76ac155413] Looks great from my perspective.", "created": "2015-10-22T09:22:00.000000"}, {"author": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "body": "Ok, thanks [~accountid:557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8]. We'll merge as soon as we get a +1 from App Mgmt.", "created": "2015-10-22T09:24:00.000000"}, {"author": "6361cbfc59c794184bcbd33a", "body": "Looks good to me.", "created": "2015-10-22T12:10:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "[~accountid:557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8], it is not clear to me what the correct validation for this is.\n\nAfter repeating the scenario that you have outlined above, the following is the error message for the run returned in the console. This error provides the level of detail that you are asking for {{that defined conflicting values for class parameters for the \"motd\" classes}}.\n{code}\nCould not retrieve catalog from remote server: Error 400 on SERVER: Failed when searching for node hxt31bmxdbfhyea.delivery.puppetlabs.net: Classification of hxt31bmxdbfhyea.delivery.puppetlabs.net failed due to a classification conflict: The node was classified into groups named \"PE MCollective\", \"bar\", \"PE Agent\", \"Agent-specified environment\", and \"foo\" that defined conflicting values for class parameters for the \"motd\" classes.\n{code}\n\nAnd the message is in the {{/opt/puppetlabs/puppet/cache/state/last_run_report.yaml}} file\n{code}\n  message: 'Error 400 on SERVER: Classification of hxt31bmxdbfhyea.delivery.puppetlabs.net\n    failed due to a classification conflict: The node was classified into groups named\n    \"PE MCollective\", \"bar\", \"PE Agent\", \"Agent-specified environment\", and \"foo\"\n    that defined conflicting values for class parameters for the \"motd\" classes.'\n{code}\n\nHowever, there is no additional detail in the summary section of the {{last_run_report.yaml}}. Are you expecting any more information here?\n\n{code}\nresource_statuses: {}\nhost: hxt31bmxdbfhyea.delivery.puppetlabs.net\ntime: 2015-10-30 12:35:46.183629464 -07:00\nkind: apply\nreport_format: 4\npuppet_version: 4.3.0\nconfiguration_version: \ntransaction_uuid: 3ba9a4a9-52b0-4f3b-b1d5-d67b7e0d1427\nenvironment: production\nstatus: failed\n{code}", "created": "2015-10-30T13:44:00.000000"}, {"author": "557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8", "body": "[~accountid:557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced] Before this fix, the payload from the pxp-module-puppet, was a failure (error message above) with the entire result payload containing \"unknown\" for all the values.  This didn't provide us any context for the failure.  The fix was to return the values in the last_run_report.yaml even in the case we had a non-zero exit code, which may contain the transaction_uuid, which we can use to link to the report for the user.  We were concerned with differentiating between a failed run that generated a report, and those that don't.  Does that help?\n\nWe aren't expecting any more information in the payload than outlined in the description.", "created": "2015-10-30T15:40:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "Thank you for the clarification [~accountid:557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8]. That was extremely helpful.\n\nHere is the transaction result payload that shows the additional information you are looking for is being returned.  (status = failed)\n{code}\npcpTransactionId: \"6850a990-52a2-4c04-83f4-27f008502463\"\nresult: {kind: \"apply\", time: \"2015-10-30 15:13:44 -0700\",\u2026}\nenvironment: \"production\"\nerror: \"Puppet agent exited with a non 0 exitcode\"\nexitcode: 1\nkind: \"apply\"\nstatus: \"failed\"\ntime: \"2015-10-30 15:13:44 -0700\"\ntransactionUuid: \"3f6b592e-dca7-401b-b24b-5bca6ab35ca0\"\nstate: \"complete\"\n{code}", "created": "2015-10-30T16:21:00.000000"}], "components": ["pxp-agent"], "created": "2015-10-21T16:50:00.000000", "creator": "557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@32194d9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyoabz:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Found during integration"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_21026356_*|*_1_*:*_1_*:*_40930951_*|*_10007_*:*_1_*:*_74188481_*|*_3_*:*_1_*:*_10381744_*|*_5_*:*_1_*:*_1637225119_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_619945411_*|*_10004_*:*_1_*:*_9434026"}], "description": "If I create a class conflict in PE (create two node groups with a conflicting motd 'content' value that both resolve to the same node), the pxp-module-puppet treats this case as a \"Puppet agent exited with a non 0 exitcode\".  The module code at this point bails on reading the last_run_report.yaml file.  In this particular case, though, there is useful data in the file.\n\n{code:java}\n[root@centos7 state]# tail last_run_report.yaml\nresource_statuses: {}\nhost: centos7.vm\ntime: 2015-10-21 22:40:52.523391053 +00:00\nkind: apply\nreport_format: 4\npuppet_version: 4.2.3\nconfiguration_version:\ntransaction_uuid: 2b688dde-43a9-4444-87a1-734f750a0801\nenvironment: production\nstatus: failed\n{code}\n \nIt would be ideal if all the values that are valid are returned in the status-result.  There is a path where the non-zero exit code might indicate a failure where the run-report isn't generated.  A simple way to check for this is to sample the file before the run and extract the \"time:\" entry.  It can be compared after the run to see if the file was updated.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31807", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31807", "issueType": "Bug", "key": "PCP-113", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Blocker", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8", "resolution": "Fixed", "resolutionDate": "2015-10-30T16:21:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Failed puppet run should return more information", "timeSpent": "PT0S", "updated": "2016-08-17T17:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "body": "I'm not a fan of scraping stdout's output. That's really not a part of the documented puppet contract and seems quite likely to expose us to surprising breakage when someone rewords a message.\n\nI'll start an email thread to discuss alternatives.", "created": "2015-10-23T10:47:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "Using {{puppet-agent}} at SHA {{7a9bb17}}, {{pxp-module-puppet}} has been verified.\n\nSteps to reproduce\n1. Install puppet agent\n2. Run `puppet agent -t` in the background while sending a {{run}} message to {{pxp-module-puppet}}\n\nSession with resulting response\n{code}\n[root@p6ltz19q200gac5 ~]# cat test.sh \npuppet agent -t &\necho \"{\\\"params\\\":{\\\"env\\\":[],\\\"flags\\\":[\\\"--noop\\\"]}, \\\"config\\\" : {\\\"puppet_bin\\\" : \\\"/opt/puppetlabs/bin/puppet\\\"}}\" | /opt/puppetlabs/p\nxp-agent/modules/pxp-module-puppet run | python -m json.tool\n\n[root@p6ltz19q200gac5 ~]# sh test.sh \n{\n    \"environment\": \"unknown\",\n    \"error\": \"Puppet agent is already performing a run\",\n    \"exitcode\": -1,\n    \"kind\": \"unknown\",\n    \"status\": \"unknown\",\n    \"time\": \"unknown\",\n    \"transaction_uuid\": \"unknown\"\n}\n[root@p6ltz19q200gac5 ~]# Info: Using configured environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Caching catalog for p6ltz19q200gac5.delivery.puppetlabs.net\nInfo: Applying configuration version '1446213705'\nNotice: Applied catalog in 0.01 seconds\n{code}", "created": "2015-10-30T08:02:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Re-opened - requires an acceptance test. Ticket should have been assigned to me earlier, apologies.", "created": "2015-10-30T08:41:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Has been manually checked. This will be tested in CI by PCP-166 when it is completed", "created": "2015-11-12T09:06:00.000000"}], "components": ["pxp-agent"], "created": "2015-10-21T13:01:00.000000", "creator": "557058:94d3052b-8fff-43b1-91b3-4cdcbc8fcd91", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@d4500d5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Contact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker", "value": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b"}, {"fieldName": "QA Highest Test Level", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Acceptance"}, {"fieldName": "QA Highest Test Level Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "C93061 and C93065 should test for this"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "High"}, {"fieldName": "QA Risk Probability Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Pattern matching of stdout is being relied on"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Medium"}, {"fieldName": "QA Risk Severity Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Puppet runs directed by user will not have status and/or results reported correctly"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo90f:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Found during App Mgmt integration"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "23/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_16268055_*|*_1_*:*_1_*:*_65018486_*|*_10007_*:*_1_*:*_334101489_*|*_3_*:*_2_*:*_94748239_*|*_4_*:*_1_*:*_5213_*|*_5_*:*_2_*:*_538818020_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_2_*:*_1374423047_*|*_10004_*:*_1_*:*_3470511"}], "description": "The code currently checks whether a run is already under way by looking at a lockfile and then kicking of the Puppet run. There is at least one invocation of {{puppet agent --configprint}} in between these two, which leaves a gap during which a Puppet run could get kicked off by other means. The pxp-initiated run would then fail and give the caller almost no way to distinguish this failure mode from other failures. Worse, if we get really unlucky with timing, the response might include the results of the other agent run.\n\nRather than checking for the lock file, it would be better to just start the agent no matter what and analyse its output to indicate to callers whether the agent run failed because there was a run under way, the agent is disabled or for some other reason. Otherwise, the burden to do that is put on the caller.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31850", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31850", "issueType": "Bug", "key": "PCP-117", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:94d3052b-8fff-43b1-91b3-4cdcbc8fcd91", "resolution": "Fixed", "resolutionDate": "2015-11-12T09:06:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-module-puppet's check whether run is already underway is racy", "timeSpent": "PT0S", "updated": "2015-11-18T14:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "The changes to pxp-module-puppet's output are documented here: https://github.com/puppetlabs/pxp-agent/blob/master/modules/pxp-module-puppet.md.\n\nThe PXP response messages proposed for PCP-202 will be implemented in a separate ticket. Such changes will not affect the structure of pxp-module-puppet's output.", "created": "2016-02-09T08:59:00.000000"}], "components": ["protocol", "pxp-agent"], "created": "2015-10-21T12:54:00.000000", "creator": "557058:94d3052b-8fff-43b1-91b3-4cdcbc8fcd91", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@73778c1a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Contact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker", "value": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b"}, {"fieldName": "QA Highest Test Level", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Acceptance"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Medium"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "High"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo3c7:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Found during app mgmt testing"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "26/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_8965973466_*|*_3_*:*_1_*:*_625304370_*|*_10009_*:*_1_*:*_75286503_*|*_5_*:*_1_*:*_3116985882_*|*_6_*:*_1_*:*_0"}], "description": "pxp-agent currently returns a flat JSON hash that has information from the pxp-agent mixed with information pulled from the agent's report. It would be cleaner if that was separated a little more cleanly in the output, e.g. by structuring it as \n{code}\n{\n    \"report\" : {\n      \"kind\" : \"unknown\",\n      \"time\" : \"unknown\",\n      \"transaction_uuid\" : \"unknown\",\n      \"environment\" : \"unknown\",\n      \"status\" : \"unknown\",\n    },\n    \"result\": \"puppet_already_running\",\n    \"error\" : \"Puppet is already running\",\n    \"exitcode\" : 1\n}\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31749", "fixedVersions": ["pxp-agent 1.1.0"], "id": "31749", "issueType": "Improvement", "key": "PCP-118", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:94d3052b-8fff-43b1-91b3-4cdcbc8fcd91", "resolution": "Fixed", "resolutionDate": "2016-02-10T09:03:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Make structure of pxp-agent  response clearer", "timeSpent": "PT0S", "updated": "2016-03-17T11:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2015-10-21T12:50:00.000000", "creator": "557058:94d3052b-8fff-43b1-91b3-4cdcbc8fcd91", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7ae2900f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Contact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker", "value": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2qi7:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Found during App mgmt testing"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_404307942_*|*_10007_*:*_1_*:*_2437101_*|*_3_*:*_1_*:*_7189457_*|*_5_*:*_1_*:*_2000255389_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_13339991"}], "description": "When things go wrong in a puppet run via PXP, consumers can only discover what happened by looking for human-readable English strings (e.g., {{Failed to start Puppet agent}} or {{Puppet agent is already performing a run}})\n\nThis is brittle as it exposes all clients to simple wording changes in their error analysis. The response from pxp-agent should include a key that indicates what went wrong for machines (e.g., {{failed_to_start_puppet}} or {{agent_already_running}})\n\nThose keys should be documented and should be considered part of the pxp-agent API", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31669", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31669", "issueType": "Bug", "key": "PCP-119", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:94d3052b-8fff-43b1-91b3-4cdcbc8fcd91", "resolution": "Fixed", "resolutionDate": "2015-10-26T11:31:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-module-puppet indicates errors through human-readable strings", "timeSpent": "PT0S", "updated": "2015-11-18T14:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "In checking how we do this for other gems, we don't currently have a consistent light release job template we can apply in the same manner as we use for our clojure library releases.\n\nWe'll follow the pattern of ruby-hocon for now, which is a hand release to rubygems, with an eye to later having jenkins support.", "created": "2015-12-02T06:35:00.000000"}], "components": [], "created": "2015-10-21T07:43:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@25b28417"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2q67:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3628105763_*|*_3_*:*_1_*:*_197555_*|*_6_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31805", "fixedVersions": [], "id": "31805", "issueType": "Sub-task", "key": "PCP-112", "labels": [], "originalEstimate": "PT0S", "parent": "32035", "parentSummary": "ruby-pcp-client steps to release", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Won't Fix", "resolutionDate": "2015-12-02T06:35:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Set up release machinery", "timeSpent": "PT0S", "updated": "2015-12-02T06:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2015-10-21T07:43:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3137d471"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2q5z:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3632531036_*|*_3_*:*_1_*:*_301312_*|*_5_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31746", "fixedVersions": [], "id": "31746", "issueType": "Sub-task", "key": "PCP-111", "labels": [], "originalEstimate": "PT0S", "parent": "32035", "parentSummary": "ruby-pcp-client steps to release", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2015-12-02T07:50:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Set up Travis CI", "timeSpent": "PT0S", "updated": "2015-12-02T07:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2015-10-21T07:43:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@24dcb19"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2q5r:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3632347252_*|*_3_*:*_1_*:*_201480_*|*_5_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31668", "fixedVersions": [], "id": "31668", "issueType": "Sub-task", "key": "PCP-110", "labels": [], "originalEstimate": "PT0S", "parent": "32035", "parentSummary": "ruby-pcp-client steps to release", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2015-12-02T07:45:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Open repos", "timeSpent": "PT0S", "updated": "2015-12-02T07:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2015-10-21T07:40:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@19b3987b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2q5b:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2928271304_*|*_10007_*:*_1_*:*_4861286_*|*_3_*:*_1_*:*_699380857_*|*_5_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31491", "fixedVersions": [], "id": "31491", "issueType": "Sub-task", "key": "PCP-109", "labels": [], "originalEstimate": "PT0S", "parent": "32035", "parentSummary": "ruby-pcp-client steps to release", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2015-12-02T07:42:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add developer documentation and examples", "timeSpent": "PT0S", "updated": "2015-12-02T07:42:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "Have a spike around using rschema for schema validation here: https://github.com/richardc/ruby-pcp-client/tree/rschema", "created": "2015-10-21T07:49:00.000000"}], "components": [], "created": "2015-10-21T07:40:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@120a1dd2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2q53:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1902860870_*|*_10007_*:*_1_*:*_4944988_*|*_3_*:*_1_*:*_1025423293_*|*_5_*:*_1_*:*_0"}], "description": "Make sure the API is sane, add YARD documentation to all APIs.\n\nOne thing that maybe isn't sane right now is the usage pattern is:\n\n{code}\nclient = PCP::Client.new({:options1 => \"value1\"})\nclient.connect do |message|\n  # On-message callback body\nend\nclient.send(PCP::Message.new({...})\n{code}\n\nWhere the callback should probably be passed in as parameters:\n\n{code}\ndef on_message(message)\nend\n\nclient = PCP::Client.new({:on_message => on_message})\nclient.send(PCP::Message.new({...})\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32232", "fixedVersions": [], "id": "32232", "issueType": "Sub-task", "key": "PCP-108", "labels": [], "originalEstimate": "PT0S", "parent": "32035", "parentSummary": "ruby-pcp-client steps to release", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2015-11-24T05:27:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Stabilise API", "timeSpent": "PT0S", "updated": "2015-11-24T05:27:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Would be great to have this on our internal Ruby gem source, if not public", "created": "2015-12-01T05:39:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "From the hallway conversations I've had I'm pretty sure we do want to open this, so I'm filing for Releng review as per https://confluence.puppetlabs.com/display/RE/Releasing+Libraries", "created": "2015-12-02T06:23:00.000000"}, {"author": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "body": "Yeah I'm definitely +1 on this. It looks like we're waiting for a blessing from Ryan.", "created": "2015-12-04T10:31:00.000000"}, {"author": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "body": "Thumbs-up in the linked RE-6087. Resolving.", "created": "2015-12-16T13:13:00.000000"}], "components": [], "created": "2015-10-21T07:40:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@595c363c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2q4v:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "01/Dec/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3627696350_*|*_3_*:*_1_*:*_854659_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_1233466473"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32187", "fixedVersions": [], "id": "32187", "issueType": "Sub-task", "key": "PCP-107", "labels": [], "originalEstimate": "PT0S", "parent": "32035", "parentSummary": "ruby-pcp-client steps to release", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Done", "resolutionDate": "2015-12-16T13:13:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Check if we want to release a ruby-cpp-client gem", "timeSpent": "PT0S", "updated": "2015-12-16T13:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "body": "Resolved this ticket and made it public.", "created": "2015-12-16T13:15:00.000000"}], "components": [], "created": "2015-10-21T07:39:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@40da9c86"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz1b4n:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "5.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Dec/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3633157498_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_1228963787"}], "description": "I have a [spiky ruby client library|https://github.com/puppetlabs/ruby-pcp-client] for PCP that we might want to clean up and release.  This ticket and sub-tasks are to track the work involved in cleaning it up and release it as a FOSS gem, assuming we decide to (that should be step one)\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32035", "fixedVersions": [], "id": "32035", "issueType": "Story", "key": "PCP-106", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Done", "resolutionDate": "2015-12-16T13:14:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "ruby-pcp-client steps to release", "timeSpent": "PT0S", "updated": "2015-12-16T13:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Tests were executed successfully on AIO master pipeline", "created": "2015-10-22T05:18:00.000000"}], "components": ["pxp-agent"], "created": "2015-10-20T23:42:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@567289c4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Highest Test Level", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Unit"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2q2f:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Missed test failure"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_70747161_*|*_1_*:*_1_*:*_17274_*|*_10007_*:*_1_*:*_1370057_*|*_3_*:*_2_*:*_23306415_*|*_5_*:*_1_*:*_2337643357_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_30581101_*|*_10006_*:*_1_*:*_11143207"}], "description": "{code}\n1: Test command: C:\\cygwin64\\home\\Administrator\\pxp-agent\\release\\bin\\pxp-agent-unittests.exe\n1: Test timeout computed to be: 9.99988e+006\n1: the status module is correctly named completed in 1.6e-005s\n1: Modules::Status::executeAction completed in 0.000387s\n1: the status module has the 'query' action completed in 8e-006s\n1: Modules::Status::executeAction completed in 0.000232s\n1:\n1: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n1: pxp-agent-unittests.exe is a Catch v1.0 b53 host application.\n1: Run with -? for options\n1:\n1: -------------------------------------------------------------------------------\n1: Modules::Status::executeAction\n1:   it can call the 'query' action\n1: -------------------------------------------------------------------------------\n1: C:\\cygwin64\\home\\Administrator\\pxp-agent\\lib\\tests\\unit\\modules\\status_test.cc:43\n1: ...............................................................................\n1:\n1: C:\\cygwin64\\home\\Administrator\\pxp-agent\\lib\\tests\\unit\\modules\\status_test.cc:64: FAILED:\n1:   REQUIRE_NOTHROW( status_module.executeAction(request) )\n1: due to unexpected exception with message:\n1:   failed to execute 'status query'\n1:\n1: Completed in 0.000303s\n1: Modules::Status::executeAction completed in 0s\n1: -------------------------------------------------------------------------------\n1: Modules::Status::executeAction\n1:   it works properly when an unknown job id is provided\n1:   it doesn't throw\n1: -------------------------------------------------------------------------------\n1: C:\\cygwin64\\home\\Administrator\\pxp-agent\\lib\\tests\\unit\\modules\\status_test.cc:43\n1: ...............................................................................\n1:\n1: C:\\cygwin64\\home\\Administrator\\pxp-agent\\lib\\tests\\unit\\modules\\status_test.cc:78: FAILED:\n1:   REQUIRE_NOTHROW( status_module.executeAction(request) )\n1: due to unexpected exception with message:\n1:   failed to execute 'status query'\n1:\n1: Completed in 0.000355s\n1: it doesn't throw completed in 7.8e-005s\n1: Modules::Status::executeAction completed in 0s\n1: -------------------------------------------------------------------------------\n1: Modules::Status::executeAction\n1:   it correctly retrieves the results of a known job\n1:   success\n1: -------------------------------------------------------------------------------\n1: C:\\cygwin64\\home\\Administrator\\pxp-agent\\lib\\tests\\unit\\modules\\status_test.cc:43\n1: ...............................................................................\n1:\n1: C:\\cygwin64\\home\\Administrator\\pxp-agent\\lib\\tests\\unit\\modules\\status_test.cc:161: FAILED:\n1: due to unexpected exception with message:\n1:   undefined flag: spool-dir\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32231", "fixedVersions": ["pxp-agent 1.0.0"], "id": "32231", "issueType": "Bug", "key": "PCP-105", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2015-10-22T13:48:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "status_test fails on Windows", "timeSpent": "PT0S", "updated": "2015-11-18T14:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2015-10-20T22:32:00.000000", "creator": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1453ec2b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2q1r:"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Not Needed"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_109454717_*|*_3_*:*_1_*:*_11164098_*|*_5_*:*_1_*:*_2270848620_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_87487710"}], "description": "Service startup and service shutdown should be at least {{INFO}} level messages.  Since these are logged infrequently, and they're critical in understanding service lifecycle, they should be logged by default.\n\nFor instance, this should be changed:\nhttps://github.com/puppetlabs/pxp-agent/blob/master/lib/src/util/windows/daemonize.cc#L24\n\nIf it turns out that the default log level is set to {{warn}}, then I believe that this should be set as {{warn}}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31848", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31848", "issueType": "Sub-task", "key": "PCP-104", "labels": ["windows"], "originalEstimate": "PT0S", "parent": "32011", "parentSummary": "Logging pass", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "resolution": "Fixed", "resolutionDate": "2015-10-23T08:21:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent should always log service startup and shutdown", "timeSpent": "PT0S", "updated": "2015-11-18T14:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "https://github.com/puppetlabs/horsewhisperer/pull/41", "created": "2015-11-01T14:22:00.000000"}], "components": [], "created": "2015-10-20T16:05:00.000000", "creator": "557058:94d3052b-8fff-43b1-91b3-4cdcbc8fcd91", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@f97c8b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Contact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker", "value": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyoagf:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "01/Nov/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1031548936_*|*_10007_*:*_1_*:*_50075548_*|*_3_*:*_1_*:*_2576525_*|*_5_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_270100530"}], "description": "I am almost certain this is the wrong place to report this, but I don't know a better one :(\n\nCurrently, it's not possible for a HW action to set the exit code cleanly - the (int) return value is interpreted as a boolean, and so possible exit codes for HW programs are only 0 or 1.\n\nIt would be better if HW preserved the return value from actions and used them as the exit code, so that an action could indicate different kinds of problems through the exit code.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31667", "fixedVersions": [], "id": "31667", "issueType": "Bug", "key": "PCP-103", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:94d3052b-8fff-43b1-91b3-4cdcbc8fcd91", "resolution": "Fixed", "resolutionDate": "2015-11-05T07:17:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "HorseWhisperer mangles exit code", "timeSpent": "PT0S", "updated": "2015-11-05T07:17:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["clj-pxp-puppet"], "created": "2015-10-20T10:52:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@471fe724"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2p4v:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Found during testing"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_64092573_*|*_10007_*:*_1_*:*_14885_*|*_3_*:*_1_*:*_5040814_*|*_5_*:*_1_*:*_0"}], "description": "Currently we log it as an unexpected message. We need to at least log it correctly.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31838", "fixedVersions": [], "id": "31838", "issueType": "Improvement", "key": "PCP-102", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Fixed", "resolutionDate": "2015-10-21T06:04:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "clj-pxp-puppet should handle rpc_error_message messages", "timeSpent": "PT0S", "updated": "2016-08-17T17:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Currently, those paths are not mandated in https://github.com/puppetlabs/puppet-specifications/blob/master/file_paths.md", "created": "2015-10-20T10:25:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "I didn't understand the asterisk convention.  This is now necessary because of PCP-77 and related tickets, so we'll have to take a pass at the specs in a week or so.", "created": "2015-10-20T10:35:00.000000"}, {"author": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "body": "I opened a [PR |https://github.com/puppetlabs/puppet-specifications/pull/56] to add the asterisks to those *nix paths. I'm not sure if we need to add anything similar for the Windows paths. /cc [~accountid:557058:295d7a84-a09b-4348-8961-a1e1764c190e]", "created": "2015-10-20T12:09:00.000000"}, {"author": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "body": "Changed the security level as part of the release ticket subtask PA-60", "created": "2015-11-18T12:43:00.000000"}], "components": ["pxp-agent"], "created": "2015-10-20T10:22:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3b82b349"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2p47:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Found during packaging "}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_531796_*|*_10007_*:*_1_*:*_61778620_*|*_3_*:*_1_*:*_2138897_*|*_5_*:*_1_*:*_2458345083_*|*_6_*:*_1_*:*_0"}], "description": "http://builds.delivery.puppetlabs.net/puppet-agent/4493e779ecca11a7b9d784c87b2c068592a69880/artifacts/el/7/PC1/x86_64/\npackages lack the following paths as mandated in\n\nhttps://github.com/puppetlabs/puppet-specifications/blob/master/file_paths.md\n\n{code}\n/opt/puppetlabs/pxp-agent/spool\n/var/log/puppetlabs/pxp-agent\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31489", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31489", "issueType": "Bug", "key": "PCP-101", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2015-10-21T04:16:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "puppet-agent lacks logdir, spooldir empty directories for pxp-agent", "timeSpent": "PT0S", "updated": "2015-11-18T14:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "body": "To test this I did the following:\n\n- Built pxp-agent\n- Install nssm\n- {{nssm install pxp}} and configured it as follows:\n    - Pointed it at pxp-agent.exe\n    - Added stdout and stderr to I/O redirection\n    - Enabled file rotation\n    - Added {{PATH=C:\\tools\\mingw64\\bin", "created": "2015-10-20T06:53:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "Sounds good, but I think we should be using {{PATH=C:\\Program Files\\Puppet Labs\\Puppet\\sys\\ruby\\bin}} to resolve shared dll's from in production MSIs.", "created": "2015-10-20T07:00:00.000000"}, {"author": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "body": "[~accountid:557058:263afade-3e4f-46c6-b50a-cf2982192562] [~accountid:557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920] This seems fairly straight forward compared to our other options but there are a few things worth noting.\n\n1) We will need the agent to be able to start without {{--foreground}} while logging to stdout. This is being handled in PCP-79\n2) If a user specifies {{--logfile C:\\some\\other\\thing.log}} we will take over writing the logfile and the logfile created by NSSM will be empty. The file won't rotate either. For v1, is it feasible to just say \"logging happens to this one file. We'll give you more options later\"? I ask because I'm worried about getting this done in time.\n3) If we go this route, can this get picked up asap?\n\n", "created": "2015-10-20T07:01:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Also worth noting that pxp-agent cannot log to console on Windows if we rely on nssm.", "created": "2015-10-20T07:27:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "I don't follow [~accountid:557058:29f801b5-e0f5-4278-a19b-0e5101f2094d].  Under nssm with io redirection we ensure the application prints its logging messages to it's stdout (as we do with --console-logger), and then nssm redirects this stream into rotated files for us.\n\nDo you mean we can't use the win32 event logger?  If so that sounds like just that we have a limitation in how many log sinks we can configure at the same time - we could theoretically log to stdout and also to event log, if we had working sinks for both.", "created": "2015-10-20T07:32:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "I mean that you cannot have the current --console-logger option by which log messages are displayed only on console.\nThe nssm configuration is done a-priori, so you don't control the redirection.", "created": "2015-10-20T07:36:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "To clarify, I don't have any strong opinion here and relying on nssm seems the simplest approach.", "created": "2015-10-20T07:39:00.000000"}, {"author": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "body": "I spent a few minutes looking at the NSSM details, and I'm a little concerned about the caveats of using NSSM to manage log files / rotate logs.  Taken from https://nssm.cc/usage:\n\n{code}\nI/O redirected", "created": "2015-10-20T07:41:00.000000"}, {"author": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "body": "Closing this ticket. Per comments above, we aren't comfortable using NSSM for service logging.", "created": "2015-10-21T00:39:00.000000"}], "components": ["pxp-agent"], "created": "2015-10-20T04:53:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@714674bd"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2p1b:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Need to investigate an alternative to PCP-73"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_10615_*|*_10007_*:*_1_*:*_63345465_*|*_3_*:*_1_*:*_7837548_*|*_6_*:*_1_*:*_0"}], "description": "Since we are experiencing issues using boost simple event logging on Windows, we need to determine if we can use NSSM to take care of logging when running as a service.\n\nSee https://nssm.cc/usage#io for reference.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32186", "fixedVersions": ["pxp-agent 1.0.0"], "id": "32186", "issueType": "Improvement", "key": "PCP-100", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Done", "resolutionDate": "2015-10-21T00:39:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Investigate use of NSSM for service logging on Windows", "timeSpent": "PT0S", "updated": "2016-05-11T17:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "This is a duplicate of RE-5776", "created": "2015-10-20T04:20:00.000000"}], "components": ["pxp-agent"], "created": "2015-10-19T23:29:00.000000", "creator": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4091ea3e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2p0n:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_17490612_*|*_6_*:*_1_*:*_0"}], "description": "Using {{puppet-agent}} at SHA {{a8a16e92e336726c4cc9b78bf8d55b87bd4dcea9}} containing {{pxp-agent}} at SHA {{a3c718c148dfd47c1dbf0624dda57bbbfb4eeb04}}:\n\nAttempting to run {{pxp-agent}} results in an error stating that the {{logdir}} is not created. However, the {{logdir}} is not specified to be installed per the file specification. I would expect that running {{pxp-agent}} for the first time would create the {{logdir}} when it is not already present.\n\n{code}\nC:\\Program Files\\Puppet Labs\\Puppet\\pxp-agent\\bin>pxp-agent.exe --loglevel debug\n\nA configuration error has occurred: --logdir 'C:\\ProgramData\\PuppetLabs\\pxp-agent\\var\\log' doesn't exist\npxp-agent cannot start\n{code}", "environment": "Windows 2012r2", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31837", "fixedVersions": [], "id": "31837", "issueType": "Bug", "key": "PCP-99", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "resolution": "Duplicate", "resolutionDate": "2015-10-20T04:21:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent cannot start without logdir, but logdir is not created on install", "timeSpent": "PT0S", "updated": "2015-11-09T04:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "Another duplicate of RE-5776", "created": "2015-10-20T04:21:00.000000"}], "components": ["pxp-agent"], "created": "2015-10-19T23:20:00.000000", "creator": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@27d3e6a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2p0f:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_18054181_*|*_6_*:*_1_*:*_0"}], "description": "Using {{puppet-agent}} at SHA {{a8a16e92e336726c4cc9b78bf8d55b87bd4dcea9}} containing {{pxp-agent}} at SHA {{a3c718c148dfd47c1dbf0624dda57bbbfb4eeb04}}, the following directories are not created for pxp-agent. These directories are defined in the specification at:\n\nhttps://github.com/puppetlabs/puppet-specifications/blob/master/file_paths.md\n\nOn Centos-7\n{code}\nFailed to find  expected directory '/opt/puppetlabs/pxp-agent/modules/pxp-module-puppet' on platform 'centos-7-x86_64'\nFailed to find  expected file '/etc/puppetlabs/pxp-agent/modules/pxp-module-puppet.conf' on platform 'centos-7-x86_64'\n{code}\n\nOn Windows 2012r2 with 64bit ruby\n{code}\nFailed to find  expected directory 'C:/ProgramData/PuppetLabs/pxp-agent/etc' on platform 'windows-2012r2-64'\nFailed to find  expected directory 'C:/ProgramData/PuppetLabs/pxp-agent/etc/modules' on platform 'windows-2012r2-64'\nFound expected directory 'C:/Program Files/Puppet Labs/Puppet/pxp-agent/modules' on platform 'windows-2012r2-64'\nFailed to find  expected directory 'C:/ProgramData/PuppetLabs/pxp-agent/var' on platform 'windows-2012r2-64'\nFailed to find  expected file 'C:/Program Files/Puppet Labs/Puppet/pxp-agent/service/nssm.exe' on platform 'windows-2012r2-64'\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31742", "fixedVersions": [], "id": "31742", "issueType": "Bug", "key": "PCP-98", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "resolution": "Duplicate", "resolutionDate": "2015-10-20T04:21:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent directories/files not installed as specified", "timeSpent": "PT0S", "updated": "2015-11-09T04:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [{"author": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "body": "I re-read the email thread and this ticket description and I'm not clear what this ticket means. Can we get more details in the description?", "created": "2015-10-17T11:35:00.000000"}, {"author": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "body": "I've opened PR 158. This will supercede PCP-91 and PCP-90 when merged.", "created": "2015-10-19T07:44:00.000000"}, {"author": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "body": "Added a PR to ensure that the packages include the necessary batch file wrapper on Windows.", "created": "2015-10-20T16:17:00.000000"}, {"author": "557058:d9266b08-990a-449f-97ff-f9a0910c2a58", "body": "Additional Windows fixes merged into puppet-agent/master at https://github.com/puppetlabs/puppet-agent/commit/0f741230d4bfc65de3242c603ed0beff2c6f7e6c", "created": "2015-10-20T16:17:00.000000"}, {"author": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "body": "Unfortunately due to the current directory structure, the inclusion of pxp modules is a bit hokey.  This would be nice to change in the future.", "created": "2015-10-20T16:18:00.000000"}], "components": ["pxp-agent"], "created": "2015-10-16T11:15:00.000000", "creator": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@480cea3f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Contact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker", "value": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyoabr:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Discussions lead to change of design."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_298534587_*|*_1_*:*_1_*:*_231599281_*|*_10007_*:*_1_*:*_53640125_*|*_3_*:*_1_*:*_14883608_*|*_5_*:*_1_*:*_1678142350_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_588440724"}], "description": "This ticket is to deal with the bin lookup as discussed in the the mail thread about PCP-90 and PCP-91. I have marked those as related to this.\n\n{{puppet_bin}}\n\nOn Windows the puppet_bin configuration option will be replaced by finding the puppet executable relative from the current location. On *nix we will use {{/opt/puppetlabs/bin/puppet}}\n\n{{interpreter}}\n\nOn Windows  {{pxp-module-puppet.bat}} will be created which will configure the environment and invoke the module with the correct ruby. On *nix we will use {{/opt/puppetlabs/puppet/bin/ruby}}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32184", "fixedVersions": ["pxp-agent 1.0.0"], "id": "32184", "issueType": "New Feature", "key": "PCP-96", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "resolution": "Fixed", "resolutionDate": "2015-10-30T05:00:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Replace module-pxp-puppet's configuration parameters with correct defaults", "timeSpent": "PT0S", "updated": "2015-11-18T14:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [{"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "If this is what we just talked about, we don't need them to be sanitised, just passed through as distinct tokens to the lower levels, so via shellquote or some variant of (exec ['puppet', 'agent'] + flags).  Currently we just smash them together which runs the risk of shell injection.", "created": "2015-10-16T08:17:00.000000"}], "components": ["pxp-agent"], "created": "2015-10-16T08:13:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@56ba00d1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2nvb:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Possible security issue"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_1103849_*|*_1_*:*_2_*:*_781494230_*|*_10007_*:*_1_*:*_91515833_*|*_3_*:*_2_*:*_88767805_*|*_5_*:*_1_*:*_1840079070_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_73153218"}], "description": "pxp-module-puppet should avoid shell injection from incoming flags\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31996", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31996", "issueType": "Bug", "key": "PCP-95", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Fixed", "resolutionDate": "2015-10-28T08:00:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-module-puppet shellquote flags before using them to run puppet", "timeSpent": "PT0S", "updated": "2015-11-18T14:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Closing this as we now rely on external libraries for cpp-pcp-client and leatherman.", "created": "2016-03-30T06:30:00.000000"}], "components": [], "created": "2015-10-16T06:15:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5605af37"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2ntz:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "30/Mar/16"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_14343334641_*|*_6_*:*_1_*:*_0"}], "description": "The changes to always specify an RPATH (PCP-67) break our old ability to develop against non-installed checkouts of pxp-agent and cpp-pcp-client on OSX,\n\nWe want to tidy this up in the following ways:\n\n* Remove the cpp-pcp-client submodule checkout.\n\n* Add a more explicit option to the cmake for pxp-agent, something like -DWITH-PCP-CLIENT-SOURCE=PATH, which when enabled disables RPATH setting, and compiles against the cpp-pcp-client source tree specified.\n\nMeatball patches to get the old behaviour back for now are available on these branches: https://github.com/richardc/pxp-agent/tree/fridays-child https://github.com/richardc/cpp-pcp-client/tree/fridays-child", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31666", "fixedVersions": [], "id": "31666", "issueType": "Story", "key": "PCP-94", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Won't Fix", "resolutionDate": "2016-03-30T06:31:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Simplify pxp-agent developer environment set up on OSX", "timeSpent": "PT0S", "updated": "2016-03-30T06:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "On Mac it looks like\n{code}\n2015-10-15 17:29:40.520381 DEBUG puppetlabs.cpp_pcp_client.connector:170 - Sending message of 220 bytes:\n1size: 214 bytes - content: {\"id\":\"9f9a7a1c-8214-4c28-b0e9-534a299c5876\",\"message_type\":\"http://puppetlabs.com/associate_request\",\"targets\":[\"pcp:///server\"],\"expires\":\"2015-10-16T00:29:50.520125Z\",\"sender\":\"pcp://client03.example.com/agent\"}\n2015-10-15 17:29:40.531745 DEBUG puppetlabs.cpp_pcp_client.connector:302 - Received message of 283 bytes - raw message:\n\ufffd{\"id\":\"86a830e1-4f0a-4c67-9840-b86c6644a659\",\"targets\":[\"pcp://client03.example.com/agent\"],\"message_type\":\"http://puppetlabs.com/associate_response\",\"sender\":\"pcp:///server\",\"expires\":\"2015-10-16T00:29:43.529Z\"}<{\"id\":\"9f9a7a1c-8214-4c28-b0e9-534a299c5876\",\"success\":true}\n{code}\nwhich has some messy characters at the beginning.", "created": "2015-10-15T18:32:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "If we can get a quick fix in for now, we can clean this up properly with PCP-5 and PCP-73", "created": "2015-10-16T03:11:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "It's just a matter of not logging raw messages.", "created": "2015-10-16T03:13:00.000000"}, {"author": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "body": "Not logging to the console on Windows doesn't alleviate this problem.  During development / testing, I'm interested in running pxp-agent through a console window to see the output.\n\nWhy not convert the message headers isn't a hex representation as part of the logged output?", "created": "2015-10-16T09:05:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "We are talking about logging the message before de-serializing it. We do that only when we receive a message:\nhttps://github.com/puppetlabs/cpp-pcp-client/blob/master/lib/src/connector/connector.cc#L302\n\nWe don't know how big are the chunks at that point. So we cannot extract the descriptor and size headers from all chunks.\nYes, we could log everything in hex encoding, but treating the whole message as a string is more useful for dev purposes.\n\nAfter that logging call we deserialize and, in case the message has an invalid format, we log the problem.\nOn the other hand, if the message is valid,  the callback that will process the message is in charge of logging it, if necessary.\n\nI don't think that we need more logging there. That function dispatches all messages, so it's a critical point.\nBut if I'm wrong we still have the two tickets that Richard linked above.", "created": "2015-10-16T09:24:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "Using {{puppet-agent}} at SHA {{3da9c72df7c8996c43eb27506af1fc3615a3c1c0}} containing {{pxp-agent}} at SHA {{596d9de}}, the non-ascii output is no longer being logged on Windows as per the PR.\n\n{code}\n2015-10-22 12:29:32.391692 DEBUG puppetlabs.cpp_pcp_client.connector:169 - Sending message of 220 bytes:\n1size: 214 bytes - content: {\"id\":\"d2b4e851-c3b8-4011-be93-a844c76221b1\",\"message_type\":\"http://puppetlabs.com/associate_request\",\"targets\":[\"pcp:///server\"],\"expires\":\"2015-10-22T19:29:42.391692Z\",\"sender\":\"pcp://client01.example.com/agent\"}\n2015-10-22 12:29:32.469821 TRACE puppetlabs.cpp_pcp_client.connector:336 - Executing callback for a message with 'http://puppetlabs.com/associate_response' schema\n2015-10-22 12:29:32.469821 INFO  puppetlabs.cpp_pcp_client.connector:360 - Received associate session response 85668274-3208-4c96-b0fc-0dade6d8d8eb from pcp:///server for request d2b4e851-c3b8-4011-be93-a844c76221b1: success\n2015-10-22 12:29:32.547954 INFO  puppetlabs.cpp_pcp_client.connection:169 - Successfully established a WebSocket connection with the PCP broker\n2015-10-22 12:29:47.657349 DEBUG puppetlabs.cpp_pcp_client.connector:428 - Sending heartbeat ping\n2015-10-22 12:29:47.751094 DEBUG puppetlabs.cpp_pcp_client.connection:330 - WebSocket onPong event\n2015-10-22 12:30:02.751133 DEBUG puppetlabs.cpp_pcp_client.connector:428 - Sending heartbeat ping\n2015-10-22 12:30:02.798006 DEBUG puppetlabs.cpp_pcp_client.connection:330 - WebSocket onPong event\n2015-10-22 12:30:17.860549 DEBUG puppetlabs.cpp_pcp_client.connector:428 - Sending heartbeat ping\n2015-10-22 12:30:17.954291 DEBUG puppetlabs.cpp_pcp_client.connection:330 - WebSocket onPong event\n2015-10-22 12:30:32.954313 DEBUG puppetlabs.cpp_pcp_client.connector:428 - Sending heartbeat ping\n2015-10-22 12:30:33.001190 DEBUG puppetlabs.cpp_pcp_client.connection:330 - WebSocket onPong event\n2015-10-22 12:30:48.048102 DEBUG puppetlabs.cpp_pcp_client.connector:428 - Sending heartbeat ping\n2015-10-22 12:30:48.063718 DEBUG puppetlabs.cpp_pcp_client.connection:330 - WebSocket onPong event\n2015-10-22 12:31:03.157494 DEBUG puppetlabs.cpp_pcp_client.connector:428 - Sending heartbeat ping\n2015-10-22 12:31:03.220001 DEBUG puppetlabs.cpp_pcp_client.connection:330 - WebSocket onPong event\n2015-10-22 12:31:05.438754 DEBUG puppetlabs.pxp_agent.util.daemonize:24 - Caught signal 0 - shutting down\n{code}", "created": "2015-10-22T13:43:00.000000"}], "components": ["cpp-pcp-client"], "created": "2015-10-15T18:31:00.000000", "creator": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@198a6622"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2nrz:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Major bug to be fixed before Feature Complete deadline"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_30053645_*|*_3_*:*_1_*:*_3085465_*|*_5_*:*_1_*:*_2337915348_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_554422932"}], "description": "Assuming a running Clojure broker from https://github.com/puppetlabs/pcp-broker, a Windows client will stop writing to the console after connnection initiation.\n\nThe output always terminates in the same spot when logging the message payload in {{connector.cc}} at https://github.com/puppetlabs/cpp-pcp-client/blob/master/lib/src/connector/connector.cc#L301-L302:\n\n{code}\nC:\\Program Files\\Puppet Labs\\Puppet\\pxp-agent\\bin>pxp-agent --foreground --console-logger --loglevel=trace\n{code}\n\nThe log yielded dies at:\n\n{code}\n2015-10-15 17:18:56.687363 INFO  puppetlabs.cpp_pcp_client.client_metadata:24 - Retrieving the common name from certificate C:\\programdata\\PuppetLabs\\puppet\\etc\n\\ssl\\pxp-agent\\certs\\client02.example.com.pem\n2015-10-15 17:18:56.702992 INFO  puppetlabs.cpp_pcp_client.client_metadata:72 - Retrieved common name from the certificate and determined the client URI: pcp://\nclient02.example.com/agent\n2015-10-15 17:18:56.702992 INFO  puppetlabs.pxp_agent.request_processor:314 - Loading external modules configuration from C:\\ProgramData\\PuppetLabs\\pxp-agent\\et\nc\\modules\n2015-10-15 17:18:56.702992 DEBUG puppetlabs.pxp_agent.request_processor:329 - Loaded module configuration for module 'pxp-module-puppet' from C:\\ProgramData\\Pup\npetLabs\\pxp-agent\\etc\\modules\\pxp-module-puppet.conf\n2015-10-15 17:18:56.702992 INFO  puppetlabs.pxp_agent.request_processor:353 - Loading external modules from C:\\Program Files\\Puppet Labs\\Puppet\\pxp-agent\\module\ns\n2015-10-15 17:18:56.702992 DEBUG puppetlabs.pxp_agent.external_module:128 - Found 'interpreter' field with value 'C:\\Program Files\\Puppet Labs\\Puppet\\sys\\ruby\\b\nin\\ruby.exe' in module 'pxp-module-puppet' config'\n2015-10-15 17:18:56.702992 DEBUG leatherman.execution:87 - executing command: C:\\Program Files\\Puppet Labs\\Puppet\\sys\\ruby\\bin\\ruby.exe C:\\Program Files\\Puppet\nLabs\\Puppet\\pxp-agent\\modules\\pxp-module-puppet metadata\n2015-10-15 17:18:58.031423 DEBUG | - {\"description\":\"PXP Puppet module\",\"actions\":[{\"name\":\"run\",\"description\":\"Start a Puppet run\",\"input\":{\"type\":\"object\",\"pr\noperties\":{\"env\":{\"type\":\"array\"},\"flags\":{\"type\":\"array\"}},\"required\":[\"env\",\"flags\"]},\"output\":{\"type\":\"object\",\"properties\":{\"kind\":{\"type\":\"string\"},\"time\":\n{\"type\":\"string\"},\"transaction_uuid\":{\"type\":\"string\"},\"environment\":{\"type\":\"string\"},\"status\":{\"type\":\"string\"},\"error\":{\"type\":\"string\"},\"exitcode\":{\"type\":\"\nnumber\"}},\"required\":[\"kind\",\"time\",\"transaction_uuid\",\"environment\",\"status\",\"error\",\"exitcode\"]}}],\"configuration\":{\"type\":\"object\",\"properties\":{\"puppet_bin\"\n:{\"type\":\"string\"}}}}\n\n2015-10-15 17:18:58.031423 DEBUG leatherman.execution:626 - process exited with exit code 0.\n2015-10-15 17:18:58.031423 INFO  puppetlabs.pxp_agent.external_module:152 - External module pxp-module-puppet: metadata validation OK\n2015-10-15 17:18:58.047052 DEBUG puppetlabs.pxp_agent.external_module:164 - Registering module config schema for 'pxp-module-puppet'\n2015-10-15 17:18:58.047052 INFO  puppetlabs.pxp_agent.external_module:186 - Validating action 'pxp-module-puppet run'\n2015-10-15 17:18:58.047052 INFO  puppetlabs.pxp_agent.external_module:196 - Action 'pxp-module-puppet run' has been validated\n2015-10-15 17:18:58.047052 DEBUG puppetlabs.pxp_agent.request_processor:372 - The 'pxp-module-puppet' module configuration has been validated: {\"interpreter\":\"C\n:\\\\Program Files\\\\Puppet Labs\\\\Puppet\\\\sys\\\\ruby\\\\bin\\\\ruby.exe\"}\n2015-10-15 17:18:58.047052 INFO  puppetlabs.pxp_agent.request_processor:413 - Loaded 'echo' module - action: echo\n2015-10-15 17:18:58.047052 INFO  puppetlabs.pxp_agent.request_processor:413 - Loaded 'ping' module - action: ping\n2015-10-15 17:18:58.047052 INFO  puppetlabs.pxp_agent.request_processor:413 - Loaded 'pxp-module-puppet' module - action: run\n2015-10-15 17:18:58.047052 INFO  puppetlabs.pxp_agent.request_processor:413 - Loaded 'status' module - action: query\n2015-10-15 17:18:58.047052 TRACE puppetlabs.cpp_pcp_client.connection:276 - WebSocket TLS initialization event\n2015-10-15 17:18:58.187709 TRACE puppetlabs.cpp_pcp_client.connection:330 - WebSocket pre-TCP initialization event\n2015-10-15 17:18:58.265852 TRACE puppetlabs.cpp_pcp_client.connection:335 - WebSocket post-TCP initialization event\n2015-10-15 17:18:58.281481 DEBUG puppetlabs.cpp_pcp_client.connection:341 - WebSocket on open event - connection timings: TCP 144099 us, WS handshake 76753 us,\noverall 229055 us\n2015-10-15 17:18:58.281481 INFO  puppetlabs.cpp_pcp_client.connection:342 - WebSocket connection established\n2015-10-15 17:18:58.281481 INFO  puppetlabs.cpp_pcp_client.connector:247 - Creating message with id d50b6846-9d6e-44ae-a42f-1850081d95fb for 1 receiver\n2015-10-15 17:18:58.281481 INFO  puppetlabs.cpp_pcp_client.connector:294 - Sending Associate Session request\n2015-10-15 17:18:58.281481 DEBUG puppetlabs.cpp_pcp_client.connector:170 - Sending message of 220 bytes:\n1size: 214 bytes - content: {\"id\":\"d50b6846-9d6e-44ae-a42f-1850081d95fb\",\"message_type\":\"http://puppetlabs.com/associate_request\",\"targets\":[\"pcp:///server\"],\"e\nxpires\":\"2015-10-16T00:19:08.281481Z\",\"sender\":\"pcp://client02.example.com/agent\"}\n2015-10-15 17:18:58.297109 DEBUG puppetlabs.cpp_pcp_client.connector:302 -\n{code}\n\nHowever, when instead logging to file, it's clear that non-ascii byte sequences are being written out.  After the {{\\n}} the following bytes are written (which presumably are the message header):\n\n{code}\n01 01 20 20 20 d4\n{code}\n\n\nOn Windows, this is likely being interpreted as a control signal and hence borks the remaining output.\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32033", "fixedVersions": ["cpp-pcp-client 1.0.1"], "id": "32033", "issueType": "Bug", "key": "PCP-93", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "resolution": "Fixed", "resolutionDate": "2015-10-22T13:43:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "cpp_pcp_client logs raw message bytes to Windows console, generating hangs", "timeSpent": "PT0S", "updated": "2016-08-17T17:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "attachments": [], "comments": [{"author": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "body": "I have the nominal PR up against {{pxp-module-puppet}} -- and I can verify that when the path is wrong, an error is emitted from Rubys {{File.exists?}} that will terminate the attempted run early in the test harness:\n\n{code}\n(test-run-agent)\nFailure FN called\n{:type :puppetlabs.pxp.puppet/runtime-error, :error Puppet executable 'C:/Program Files/Puppet Labs/Puppet/pxp-agent/modules/../../puppet/bin/puppet.bat' does not exist, :status failure, :action run-agent, :transaction-id none, :target-certname client02.example.com}\nnil\nuser=> (test-query-run-status)\n{:status \"failure\", :exitcode 1, :stdout \"{\\\"kind\\\":\\\"unknown\\\",\\\"time\\\":\\\"unknown\\\",\\\"transaction_uuid\\\":\\\"unknown\\\",\\\"environment\\\":\\\"unknown\\\",\\\"status\\\":\\\"unknown\\\",\\\"error\\\":\\\"Puppet executable 'C:/Program Files/Puppet Labs/Puppet/pxp-agent/modules/../../puppet/bin/puppet.bat' does not exist\\\",\\\"exitcode\\\":-1}\\r\\n\\n\", :stderr \"\"}\n{code}\n\nUnfortunately, with the path correct, I'm having difficulty seeing a puppet run actually triggered, as I'm receiving a non-zero exit code.\n\nFrom the test harness:\n\n{code}\nuser=> (test-run-agent)\nnil\nuser=> Failure FN called\n{:type :puppetlabs.pxp.puppet/connection-error, :transaction-id 8fc43c8b-7ec0-4720-aac1-798d28913ee5, :target-certname client02.example.com, :action query-run-status, :error Not connected to pcp-broker}\n{code}\n\nRelevant log:\n\n{code}\n2015-10-15 17:47:17.225077 INFO  puppetlabs.cpp_pcp_client.client_metadata:24 - Retrieving the common name from certificate C:\\programdata\\PuppetLabs\\puppet\\etc\\ssl\\pxp-agent\\certs\\client02.example.com.pem\n2015-10-15 17:47:17.225077 INFO  puppetlabs.cpp_pcp_client.client_metadata:72 - Retrieved common name from the certificate and determined the client URI: pcp://client02.example.com/agent\n2015-10-15 17:47:17.225077 INFO  puppetlabs.pxp_agent.request_processor:314 - Loading external modules configuration from C:\\ProgramData\\PuppetLabs\\pxp-agent\\etc\\modules\n2015-10-15 17:47:17.225077 DEBUG puppetlabs.pxp_agent.request_processor:329 - Loaded module configuration for module 'pxp-module-puppet' from C:\\ProgramData\\PuppetLabs\\pxp-agent\\etc\\modules\\pxp-module-puppet.conf\n2015-10-15 17:47:17.225077 INFO  puppetlabs.pxp_agent.request_processor:353 - Loading external modules from C:\\Program Files\\Puppet Labs\\Puppet\\pxp-agent\\modules\n2015-10-15 17:47:17.225077 DEBUG puppetlabs.pxp_agent.external_module:128 - Found 'interpreter' field with value 'C:\\Program Files\\Puppet Labs\\Puppet\\sys\\ruby\\bin\\ruby.exe' in module 'pxp-module-puppet' config'\n2015-10-15 17:47:17.225077 DEBUG leatherman.execution:87 - executing command: C:\\Program Files\\Puppet Labs\\Puppet\\sys\\ruby\\bin\\ruby.exe C:\\Program Files\\Puppet Labs\\Puppet\\pxp-agent\\modules\\pxp-module-puppet metadata\n2015-10-15 17:47:18.709794 DEBUG | - {\"description\":\"PXP Puppet module\",\"actions\":[{\"name\":\"run\",\"description\":\"Start a Puppet run\",\"input\":{\"type\":\"object\",\"properties\":{\"env\":{\"type\":\"array\"},\"flags\":{\"type\":\"array\"}},\"required\":[\"env\",\"flags\"]},\"output\":{\"type\":\"object\",\"properties\":{\"kind\":{\"type\":\"string\"},\"time\":{\"type\":\"string\"},\"transaction_uuid\":{\"type\":\"string\"},\"environment\":{\"type\":\"string\"},\"status\":{\"type\":\"string\"},\"error\":{\"type\":\"string\"},\"exitcode\":{\"type\":\"number\"}},\"required\":[\"kind\",\"time\",\"transaction_uuid\",\"environment\",\"status\",\"error\",\"exitcode\"]}}],\"configuration\":{\"type\":\"object\",\"properties\":{\"puppet_bin\":{\"type\":\"string\"}}}}\n\n\n2015-10-15 17:47:18.709794 DEBUG leatherman.execution:626 - process exited with exit code 0.\n2015-10-15 17:47:18.709794 INFO  puppetlabs.pxp_agent.external_module:152 - External module pxp-module-puppet: metadata validation OK\n2015-10-15 17:47:18.709794 DEBUG puppetlabs.pxp_agent.external_module:164 - Registering module config schema for 'pxp-module-puppet'\n2015-10-15 17:47:18.709794 INFO  puppetlabs.pxp_agent.external_module:186 - Validating action 'pxp-module-puppet run'\n2015-10-15 17:47:18.709794 INFO  puppetlabs.pxp_agent.external_module:196 - Action 'pxp-module-puppet run' has been validated\n2015-10-15 17:47:18.709794 DEBUG puppetlabs.pxp_agent.request_processor:372 - The 'pxp-module-puppet' module configuration has been validated: {\"interpreter\":\"C:\\\\Program Files\\\\Puppet Labs\\\\Puppet\\\\sys\\\\ruby\\\\bin\\\\ruby.exe\"}\n2015-10-15 17:47:18.709794 INFO  puppetlabs.pxp_agent.request_processor:413 - Loaded 'echo' module - action: echo\n2015-10-15 17:47:18.709794 INFO  puppetlabs.pxp_agent.request_processor:413 - Loaded 'ping' module - action: ping\n2015-10-15 17:47:18.709794 INFO  puppetlabs.pxp_agent.request_processor:413 - Loaded 'pxp-module-puppet' module - action: run\n2015-10-15 17:47:18.709794 INFO  puppetlabs.pxp_agent.request_processor:413 - Loaded 'status' module - action: query\n2015-10-15 17:47:18.709794 TRACE puppetlabs.cpp_pcp_client.connection:276 - WebSocket TLS initialization event\n2015-10-15 17:47:19.084880 TRACE puppetlabs.cpp_pcp_client.connection:330 - WebSocket pre-TCP initialization event\n2015-10-15 17:47:19.147395 TRACE puppetlabs.cpp_pcp_client.connection:335 - WebSocket post-TCP initialization event\n2015-10-15 17:47:19.163023 DEBUG puppetlabs.cpp_pcp_client.connection:341 - WebSocket on open event - connection timings: TCP 364389 us, WS handshake 72490 us, overall 441568 us\n2015-10-15 17:47:19.163023 INFO  puppetlabs.cpp_pcp_client.connection:342 - WebSocket connection established\n2015-10-15 17:47:19.163023 INFO  puppetlabs.cpp_pcp_client.connector:247 - Creating message with id 22b336b9-c2bd-4f14-9e62-f346d6b1cbcc for 1 receiver\n2015-10-15 17:47:19.163023 INFO  puppetlabs.cpp_pcp_client.connector:294 - Sending Associate Session request\n2015-10-15 17:47:19.163023 DEBUG puppetlabs.cpp_pcp_client.connector:170 - Sending message of 220 bytes:\n1size: 214 bytes - content: {\"id\":\"22b336b9-c2bd-4f14-9e62-f346d6b1cbcc\",\"message_type\":\"http://puppetlabs.com/associate_request\",\"targets\":[\"pcp:///server\"],\"expires\":\"2015-10-16T00:47:29.163023Z\",\"sender\":\"pcp://client02.example.com/agent\"}\n2015-10-15 17:47:19.194280 DEBUG puppetlabs.cpp_pcp_client.connector:302 - Received message of 283 bytes - raw message:\n{\"id\":\"4b0ea276-0512-407a-afcf-488dd7812be8\",\"targets\":[\"pcp://client02.example.com/agent\"],\"message_type\":\"http://puppetlabs.com/associate_response\",\"sender\":\"pcp:///server\",\"expires\":\"2015-10-16T00:47:22.219Z\"}{\"id\":\"22b336b9-c2bd-4f14-9e62-f346d6b1cbcc\",\"success\":true}\n2015-10-15 17:47:19.194280 TRACE puppetlabs.cpp_pcp_client.connector:335 - Executing callback for a message with 'http://puppetlabs.com/associate_response' schema\n2015-10-15 17:47:19.194280 INFO  puppetlabs.cpp_pcp_client.connector:359 - Received associate session response 4b0ea276-0512-407a-afcf-488dd7812be8 from pcp:///server for request 22b336b9-c2bd-4f14-9e62-f346d6b1cbcc: success\n2015-10-15 17:47:19.256795 INFO  puppetlabs.cpp_pcp_client.connection:155 - Successfully established a WebSocket connection with the PCP server\n2015-10-15 17:47:34.260251 DEBUG puppetlabs.cpp_pcp_client.connector:427 - Sending heartbeat ping\n2015-10-15 17:47:34.260251 DEBUG puppetlabs.cpp_pcp_client.connection:316 - WebSocket onPong event\n2015-10-15 17:47:37.448485 DEBUG puppetlabs.cpp_pcp_client.connector:302 - Received message of 728 bytes - raw message:\n{\"id\":\"f7f245a5-37c2-44e8-9e50-fbf2b096ff6c\",\"targets\":[\"pcp://client02.example.com/agent\"],\"message_type\":\"http://puppetlabs.com/rpc_non_blocking_request\",\"sender\":\"pcp://client01.example.com/puppet-api-test\",\"expires\":\"2015-10-16T00:47:42.418Z\"}{\"transaction_id\":\"dc3800dd-2ddd-41d0-add9-c886c69bb9a4\",\"notify_outcome\":false,\"module\":\"pxp-module-puppet\",\"action\":\"run\",\"params\":{\"env\":[],\"flags\":[]}}{\"hops\":[{\"server\":\"pcp://broker.example.com/server\",\"time\":\"2015-10-16T00:47:37.428Z\",\"stage\":\"accepted\"},{\"server\":\"pcp://broker.example.com/server\",\"time\":\"2015-10-16T00:47:37.437Z\",\"stage\":\"accept-to-queue\"},{\"server\":\"pcp://broker.example.com/server\",\"time\":\"2015-10-16T00:47:37.473Z\",\"stage\":\"deliver\"}]}\n2015-10-15 17:47:37.448485 TRACE puppetlabs.cpp_pcp_client.connector:335 - Executing callback for a message with 'http://puppetlabs.com/rpc_non_blocking_request' schema\n2015-10-15 17:47:37.448485 INFO  puppetlabs.pxp_agent.action_request:63 - Validating non blocking request f7f245a5-37c2-44e8-9e50-fbf2b096ff6c by pcp://client01.example.com/puppet-api-test\n2015-10-15 17:47:37.448485 DEBUG puppetlabs.pxp_agent.action_request:64 - Request f7f245a5-37c2-44e8-9e50-fbf2b096ff6c:\nENVELOPE: {\"id\":\"f7f245a5-37c2-44e8-9e50-fbf2b096ff6c\",\"targets\":[\"pcp://client02.example.com/agent\"],\"message_type\":\"http://puppetlabs.com/rpc_non_blocking_request\",\"sender\":\"pcp://client01.example.com/puppet-api-test\",\"expires\":\"2015-10-16T00:47:42.418Z\"}\nDATA: {\"transaction_id\":\"dc3800dd-2ddd-41d0-add9-c886c69bb9a4\",\"notify_outcome\":false,\"module\":\"pxp-module-puppet\",\"action\":\"run\",\"params\":{\"env\":[],\"flags\":[]}}\nDEBUG: {\"hops\":[{\"server\":\"pcp://broker.example.com/server\",\"time\":\"2015-10-16T00:47:37.428Z\",\"stage\":\"accepted\"},{\"server\":\"pcp://broker.example.com/server\",\"time\":\"2015-10-16T00:47:37.437Z\",\"stage\":\"accept-to-queue\"},{\"server\":\"pcp://broker.example.com/server\",\"time\":\"2015-10-16T00:47:37.473Z\",\"stage\":\"deliver\"}]}\n2015-10-15 17:47:37.448485 INFO  puppetlabs.pxp_agent.request_processor:193 - About to process non blocking request f7f245a5-37c2-44e8-9e50-fbf2b096ff6c by pcp://client01.example.com/puppet-api-test, transaction dc3800dd-2ddd-41d0-add9-c886c69bb9a4\n2015-10-15 17:47:37.448485 DEBUG puppetlabs.pxp_agent.request_processor:251 - Validating input for parameters of 'pxp-module-puppet run' request f7f245a5-37c2-44e8-9e50-fbf2b096ff6c by pcp://client01.example.com/puppet-api-test, transaction dc3800dd-2ddd-41d0-add9-c886c69bb9a4\n2015-10-15 17:47:37.448485 DEBUG puppetlabs.pxp_agent.request_processor:278 - Starting 'pxp-module-puppet run' job with ID dc3800dd-2ddd-41d0-add9-c886c69bb9a4 for non-blocking request f7f245a5-37c2-44e8-9e50-fbf2b096ff6c by pcp://client01.example.com/puppet-api-test\n2015-10-15 17:47:37.448485 DEBUG puppetlabs.pxp_agent.request_processor:91 - Creating results directory for 'pxp-module-puppet run', transaction dc3800dd-2ddd-41d0-add9-c886c69bb9a4, in 'C:\\ProgramData\\PuppetLabs\\pxp-agent\\var\\spool\\dc3800dd-2ddd-41d0-add9-c886c69bb9a4'\n2015-10-15 17:47:37.448485 TRACE puppetlabs.pxp_agent.thread_container:83 - Adding thread f78 to the 'Action Executer' ThreadContainer", "created": "2015-10-15T18:55:00.000000"}, {"author": "557058:d9266b08-990a-449f-97ff-f9a0910c2a58", "body": "Specifications PR merged into master at https://github.com/puppetlabs/puppet-specifications/commit/288eb3b87dca5c67c8c3f3e7c92968b29794f572", "created": "2015-10-16T07:49:00.000000"}, {"author": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "body": "This ticket has been superseded by PCP-96. Closing.", "created": "2015-10-20T03:08:00.000000"}], "components": ["pxp-agent"], "created": "2015-10-15T11:02:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@576aeaac"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2ndr:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Windows packaging issues"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_5151678_*|*_3_*:*_1_*:*_396086674_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2334065"}], "description": "Something like {{..\\..\\bin\\puppet.bat}}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32031", "fixedVersions": ["pxp-agent 1.0.0"], "id": "32031", "issueType": "New Feature", "key": "PCP-91", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Duplicate", "resolutionDate": "2015-10-20T03:08:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-module-puppet should default puppet_bin to a relative path", "timeSpent": "PT0S", "updated": "2015-11-10T15:36:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "My only concerns about a default are ensuring we can still support any module format by overriding the interpreter.\n\nThe current default on Windows is effective \"cmd.exe /c\", allowing you to run binaries and batch scripts. I'd think shipping a config file that defaults to the shipped ruby would also work for the pxp-module-puppet, but it sounds like you're trying to solve for future modules we'd also ship.", "created": "2015-10-15T11:12:00.000000"}, {"author": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "body": "This ticket has been superseded by PCP-96. Closing.", "created": "2015-10-20T03:09:00.000000"}], "components": ["pxp-agent"], "created": "2015-10-15T11:00:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2de7ff12"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2ndj:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Outcome of Windows packaging"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_403726110_*|*_5_*:*_1_*:*_2548787913_*|*_6_*:*_1_*:*_0"}], "description": "Since we're not able to use a shebang line on Windows, having interpreter set is almost always desirable. When we ship with the puppet-agent msi, we need to be able to default that interpreter to the shipped ruby by its relative location.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31995", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31995", "issueType": "New Feature", "key": "PCP-90", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Fixed", "resolutionDate": "2015-11-18T14:09:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent should have a default interpreter value on windows", "timeSpent": "PT0S", "updated": "2016-08-03T17:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pcp-broker"], "created": "2015-10-15T04:26:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6cfc00da"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2n8n:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Useful for feature-complete to not have divergent auth"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_576270_*|*_1_*:*_1_*:*_746857_*|*_10007_*:*_1_*:*_1331258_*|*_3_*:*_1_*:*_11831800_*|*_5_*:*_1_*:*_0"}], "description": "The current message authorization rules - https://github.com/puppetlabs/pcp-broker/blob/master/doc/authorization.md - were added in the times before https://github.com/puppetlabs/trapperkeeper-authorization\n\nWe should use trapperkeeper-authorization if possible.\n\nThings to consider:\n\ntk-auth works in terms of ring requests, we will need to be able to pivot a pcp-message into a ring request.  Something like \n\n{code}\n{ :id '12345'\n  :message_type 'http://puppetlabs.com/rpc_blocking_request'\n  :sender 'pcp://client01.example.com/ruby-pcp-client-2551'\n  :targets ['pcp://client01.example.com/agent' ] }\n{code}\n\nWould need to get pivoted to something like:\n\n{code}\n{:request-method :post\n :remote-addr \"192.168.1.22:36362\"\n :uri \"/pcp-broker/send\"\n :ssl-client-cert (X509-certificate-for \"client01.example.com\")\n :params {:message_type \"http://puppetlabs.com/rpc_blocking_request\"\n          :sender \"pcp://client01.example.com/ruby-pcp-client-2551\"\n          :targets \"pcp://client01.example.com/agent\"}}\n{code}\n\nSo we can then pass this over to trapperkeeper-auth to do the rest of the work.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31665", "fixedVersions": ["pcp-broker 0.4.0"], "id": "31665", "issueType": "Story", "key": "PCP-88", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2015-10-15T08:27:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Replace existing authorization handler with tk-authorization", "timeSpent": "PT0S", "updated": "2016-05-25T17:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "My first guess is locale, so we may need to bring over https://github.com/puppetlabs/facter/blob/master/lib/src/logging/logging.cc#L54-L74 or merge it up into Leatherman's setup_logging.", "created": "2015-10-14T17:49:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "{code}\n-bash-3.2# /opt/csw/bin/gdb --args  /opt/puppetlabs/puppet/bin/pxp-agent --version\nGNU gdb (GDB) 7.7\nCopyright (C) 2014 Free Software Foundation, Inc.\nLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law.  Type \"show copying\"\nand \"show warranty\" for details.\nThis GDB was configured as \"i386-pc-solaris2.10\".\nType \"show configuration\" for configuration details.\nFor bug reporting instructions, please see:\n<http://www.gnu.org/software/gdb/bugs/>.\nFind the GDB manual and other documentation resources online at:\n<http://www.gnu.org/software/gdb/documentation/>.\nFor help, type \"help\".\nType \"apropos word\" to search for commands related to \"word\"...\nReading symbols from /opt/puppetlabs/puppet/bin/pxp-agent...(no debugging symbols found)...done.\n(gdb) run\nStarting program: /opt/puppetlabs/puppet/bin/pxp-agent --version\n[Thread debugging using libthread_db enabled]\n[New Thread 1 (LWP 1)]\n\nProgram received signal SIGSEGV, Segmentation fault.\n[Switching to Thread 1 (LWP 1)]\n0x080decf5 in std::vector<std::string, std::allocator<std::string> >& boost::algorithm::iter_split<std::vector<std::string, std::allocator<std::string> >, std::string, boost::algorithm::detail::token_finderF<std::_Bind<std::equal_to<char> (std::_Placeholder<1>, char)> > >(std::vector<std::string, std::allocator<std::string> >&, std::string&, boost::algorithm::detail::token_finderF<std::_Bind<std::equal_to<char> (std::_Placeholder<1>, char)> >) ()\n(gdb) br\nBreakpoint 1 at 0x80decf5\n(gdb) bt\n#0  0x080decf5 in std::vector<std::string, std::allocator<std::string> >& boost::algorithm::iter_split<std::vector<std::string, std::allocator<std::string> >, std::string, boost::algorithm::detail::token_finderF<std::_Bind<std::equal_to<char> (std::_Placeholder<1>, char)> > >(std::vector<std::string, std::allocator<std::string> >&, std::string&, boost::algorithm::detail::token_finderF<std::_Bind<std::equal_to<char> (std::_Placeholder<1>, char)> >) ()\n#1  0x080dfa99 in leatherman::util::search_path_helper::search_path_helper() ()\n#2  0x080eb180 in _GLOBAL__sub_I_environment.cc ()\n#3  0x080e80dd in __do_global_ctors_aux ()\n#4  0x080e810a in _init ()\n#5  0x08079b2b in _start ()\n{code}", "created": "2015-10-20T05:21:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "With some print debugging, I was able to see this is in the call to boost::split here: https://github.com/puppetlabs/leatherman/blob/735a4e4aad8da0393a937d62ef9e45f7bc338545/util/src/posix/environment.cc#L21\n\n{code}\n-bash-3.2# ./bin/pxp-agent\ntrimmed paths/usr/java/bin:/opt/csw/bin:/usr/sbin:/usr/bin\nSegmentation Fault (core dumped)\n{code}\n\nI don't know enough about how this code is set up to dive deeper, so putting this down for now.", "created": "2015-10-20T05:39:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I'm confused why that would happen. Maybe something's in the string that the locale doesn't expect. It certainly works for Facter on Solaris 10, so it's likely still related to locale.", "created": "2015-10-20T14:08:00.000000"}, {"author": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "body": "Looks like this affects Solaris 11 i386 as well. (Tried with build puppet-agent@1.2.6.316.107,5.11-1.i386.p5p.)\n", "created": "2015-10-23T17:35:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "pxp-agent appears to have a problem with -O3. I'm going to use -Os instead on Solaris builds for now. Further effort may isolate the failure so we can still use -O3 some places.", "created": "2015-10-30T12:50:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Went with -O2, which is what we'd previously done with FACT-1156.", "created": "2015-10-30T15:30:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "Using {{puppet-agent}} at SHA {{c82a813640b7535e6fa6d477a0d7023925cc0561}} containing {{pxp-agent}} at SHA {{bbb274000c14d7eb784d40a6aad93e8da6c6086c}}, the segfault issue no longer occurs on Solaris 10 and 11 i386.\n\nThere are pending issues with the service. See PA-44 and PCP-141", "created": "2015-11-01T09:33:00.000000"}], "components": ["pxp-agent"], "created": "2015-10-14T17:27:00.000000", "creator": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@754650cc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "High"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyoag7:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_35888783_*|*_1_*:*_1_*:*_451332765_*|*_10007_*:*_1_*:*_3773817_*|*_3_*:*_1_*:*_19885896_*|*_5_*:*_1_*:*_1485367724_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_116678910_*|*_10006_*:*_1_*:*_902749429"}], "description": "In validation with puppet-agent-1.2.6.227.g10d398a-1.i386.pkg on Solaris 10 i386, pxp-agent segfaults almost immediately on startup: \n\n{code}\n# /opt/puppetlabs/puppet/bin/pxp-agent --foreground\nSegmentation Fault (core dumped)\n# /opt/puppetlabs/puppet/bin/pxp-agent\nSegmentation Fault (core dumped)\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31664", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31664", "issueType": "Bug", "key": "PCP-87", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "resolution": "Fixed", "resolutionDate": "2015-11-01T09:33:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent segfaults on startup on Solaris 10 and 11 i386", "timeSpent": "PT0S", "updated": "2015-11-18T14:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "body": "[~accountid:557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8] can you elaborate on why {{--onetime}} is undesirable for all use cases?", "created": "2015-10-20T09:54:00.000000"}, {"author": "557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8", "body": "[~accountid:557058:263afade-3e4f-46c6-b50a-cf2982192562] essentially the discussion resulted in the decision that the module should specify NO flags, and that users of the module would be required to specify any needed flags.  This gives us the greatest flexibility moving forward.", "created": "2015-10-20T10:02:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This doesn't make sense to me. If you trigger a run through pxp-module-puppet and don't specify {{\\-\\-onetime}} then the agent will never exit. If you don't specify {{\\-\\-no-daemonize}} then the agent will run in the background, so if you trigger another run through pxp-module-puppet, then the second run will likely see that the first instance is already running and fail the run. Manual puppet runs triggered through pxp-module-puppet should always specify {{\\-\\-onetime}} and {{\\-\\-no-daemonize}}.", "created": "2015-10-20T10:15:00.000000"}, {"author": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "body": "FWIW, even though {{pxp-module-puppet}} makes some effort to see if the agent is running at https://github.com/puppetlabs/pxp-agent/blob/master/modules/pxp-module-puppet#L25-L28, I was able to trigger multiple agent runs successfully through pxp-agent.\n\nWithout {{--onetime}} specified, none of the agents ever exited, and I stacked up a number of running {{ruby.exe}} instances that eventually caused my machine to be completely OOM.\n\nI agree with [~accountid:63d40628f6e1b543161789a7] that we should always be specifying {{--onetime}} and {{--no-daemonize}} options, because multiple {{ruby.exe}} processes is a pretty trivial condition to induce (at least on Windows), and it's pretty undesirable form an end-user perspective.  I've also unconvinced of the robustness of checking for an active agent run (which is a separate issue, that might also be more problematic on Windows)", "created": "2015-10-20T10:32:00.000000"}, {"author": "557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8", "body": "The two clients: App Mgmt and Run Puppet from the UI already specify --onetime and --no-daemonize (as a reaction to this change), so I don't understand why this is an issue... if the expectation is that the clients specify these flags, why not document it that way?    Assuming no flags makes it easier to make changes later, and provide new behaviors that don't require those flags.  Ping [~accountid:557058:94d3052b-8fff-43b1-91b3-4cdcbc8fcd91] you had an opinion on this as well.", "created": "2015-10-20T11:26:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I'm having a hard time coming up with a use case where you launch puppet through pxp-module-puppet and you would want the agent to block indefinitely (when omitting {{\\-\\-onetime}}), or run daemonized (when omitting {{\\-\\-no-daemonize}})? IMO, we're just providing a way for people to shoot themselves in the foot.", "created": "2015-10-20T12:21:00.000000"}, {"author": "557058:94d3052b-8fff-43b1-91b3-4cdcbc8fcd91", "body": "We are currently assuming nothing about the flags that PXP passes to the agent, and therefore pass {{--no-daemonize}} and {{--onetime}} explicitly. But I agree that not passing them is nonsensical and it would make sense for the pxp-module-puppet to make sure that they are passed. It should still be ok for clients to pass these two explicitly and doing so shouldn't lead to an error.", "created": "2015-10-20T16:08:00.000000"}, {"author": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "body": "https://github.com/puppetlabs/pxp-agent/pull/164 is my PR for reinstating {{\\-\\-no-daemonize}} and {{\\-\\-onetime}}.  I triggered runs through the clj-pxp-puppet code at https://github.com/puppetlabs/clj-pxp-puppet/commit/97eb5e548f660192d17efb13a538085b12863ae5, which includes calls from the client with {{\\-\\-onetime}} and {{\\-\\-no-daemonize}} at https://github.com/puppetlabs/clj-pxp-puppet/blob/97eb5e548f660192d17efb13a538085b12863ae5/dev/user.clj#L22-L23\n\nI then modified the code to remove those arguments from being passed from the client, and the behavior on the {{pxp-agent.exe}} side was as expected.  The missing flags are re-added to the parameters and the agent run terminates properly.", "created": "2015-10-20T18:41:00.000000"}], "components": ["pxp-agent"], "created": "2015-10-14T17:11:00.000000", "creator": "557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@44588e20"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2mrr:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Found during NMUI and App mgmt integration"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_36570092_*|*_10007_*:*_1_*:*_260157_*|*_3_*:*_1_*:*_6835700_*|*_5_*:*_1_*:*_2972990820_*|*_6_*:*_1_*:*_0"}], "description": "We don't want to assume any flags for running puppet agent in the pxp-module-puppet.  This task is to remove: \n\n--no-usecacheonfailure --no-splay --show_diff --no-daemonize --onetime --verbose\n\nfrom the run command, and update the tests.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32153", "fixedVersions": ["pxp-agent 1.0.0"], "id": "32153", "issueType": "Task", "key": "PCP-86", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8", "resolution": "Fixed", "resolutionDate": "2015-10-15T05:19:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Remove assumed flags from pxp-module-puppet", "timeSpent": "PT0S", "updated": "2016-08-17T17:26:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Does this mean all of pxp-agent should be at /opt/puppetlabs/pxp-agent, or just modules? I believe the puppet-agent currently puts everything in /opt/puppetlabs/puppet/pxp-agent.\n\nUpdate: ah no. That complicates the install, as puppet-agent is simply using {{make install}}.", "created": "2015-10-14T11:36:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "We're going from https://github.com/puppetlabs/puppet-specifications/blob/master/file_paths.md which specifies modules in {{/opt/puppetlabs/pxp-agent/modules}} and the executable in {{/opt/puppetlabs/puppet/bin/pxp-agent}}.\n\nDo we need to go back to the drawing board on the paths in the specification, or shall we play on?\n", "created": "2015-10-15T03:44:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "[~accountid:557058:8db25e7a-4bdb-4fe2-af6b-f0a9bc714e12] Procedurally, when a thing is marked as a blocker, it'd be good to know what ticket it's blocking.  Can you set that relationship or just make a comment as to what this blocks?", "created": "2015-10-15T03:47:00.000000"}, {"author": "557058:8db25e7a-4bdb-4fe2-af6b-f0a9bc714e12", "body": "[~accountid:557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e], yep, done (PE-11405).", "created": "2015-10-15T08:53:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "[~accountid:63d40635a05386069cdb69d6] questioned the install location on the puppet-agent PR https://github.com/puppetlabs/puppet-agent/pull/346", "created": "2015-10-15T10:06:00.000000"}, {"author": "63d40635a05386069cdb69d6", "body": "Merged at https://github.com/puppetlabs/puppet-agent/commit/3e1969dda2c49cadda5da65f780628a76822e997", "created": "2015-10-15T10:21:00.000000"}, {"author": "557058:8872d0b6-d198-4e25-92ad-02776be82d59", "body": "Tested on redhat-7-x86_64\nBefore,\nbuild sha c5cab7d975a0d44fd6230c2ebaeec8a33bb17073, 10/13/15\npxp-module-puppet is in the wrong directory (/opt/puppetlabs/puppet/pxp-agent)\n\n{code}\n[root@dawt5d9psbwlbbd ~]# rpm -i http://builds.puppetlabs.lan/puppet-agent/c5cab7d975a0d44fd6230c2ebaeec8a33bb17073/repos/el/7/PC1/x86_64/puppet-agent-1.2.6.218.gc5cab7d-1.el7.x86_64.rpm\n[root@dawt5d9psbwlbbd ~]# find / -name pxp-module-puppet\n/opt/puppetlabs/puppet/pxp-agent/modules/pxp-module-puppet\n[root@dawt5d9psbwlbbd ~]#\n{code}\n\nAfter the fix, testing build sha 0b86116b4f67ad872e1ca9e2f7bc454d024e3a55, 10/16/15\npxp-module-puppet is in the right directory (/opt/puppetlabs/pxp-agent)\n\n{code}\n[root@d77jdovroatt2ya ~]# rpm -i http://builds.puppetlabs.lan/puppet-agent/0b86116b4f67ad872e1ca9e2f7bc454d024e3a55/repos/el/7/PC1/x86_64/puppet-agent-1.2.6.264.g0b86116-1.el7.x86_64.rpm\n[root@d77jdovroatt2ya ~]find / -name pxp-module-puppet\n/opt/puppetlabs/pxp-agent/modules/pxp-module-puppet\n[root@d77jdovroatt2ya ~]#\n{code}\n", "created": "2015-10-20T14:34:00.000000"}], "components": ["pxp-agent"], "created": "2015-10-14T10:54:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@75c3d31e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2mpz:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_125607645_*|*_1_*:*_1_*:*_2774517_*|*_10007_*:*_1_*:*_44443083_*|*_3_*:*_1_*:*_8521704_*|*_5_*:*_1_*:*_2507697159_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_350259544"}], "description": "In puppet-agent pxp-module-puppet should be installed to {{/opt/puppetlabs/pxp-agent/modules/pxp-module-puppet}} but instead is being installed to {{/opt/puppetlabs/puppet/pxp-agent/modules/pxp-module-puppet}} (extra puppet after /opt/puppetlabs)\n\nIt should also have execute permissions.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31836", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31836", "issueType": "Bug", "key": "PCP-85", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Blocker", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2015-10-20T14:34:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-module-puppet is installed to wrong path", "timeSpent": "PT0S", "updated": "2015-11-18T14:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2015-10-14T10:23:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4985e045"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2mrj:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Found during testing"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_158227390_*|*_10007_*:*_1_*:*_647785_*|*_3_*:*_1_*:*_6012126_*|*_5_*:*_1_*:*_2703606554_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_172666353"}], "description": "On a fresh host, running as non root we have the following failures:\n\n{code}\n1: -------------------------------------------------------------------------------\n1: Modules::Status::executeAction\n1: -------------------------------------------------------------------------------\n1: /Users/psy/work/pxp-agent/lib/tests/unit/modules/status_test.cc:38\n1: ...............................................................................\n1:\n1: /Users/psy/work/pxp-agent/lib/tests/unit/modules/status_test.cc:41: FAILED:\n1:   {Unknown expression after the reported line}\n1: due to unexpected exception with message:\n1:   boost::filesystem::create_directories: Permission denied: \"/opt/puppetlabs\n1:   /pxp-agent\"\n1:\n1: Completed in 0s\n1: the status module has the 'query' action completed in 1.1e-05s\n1: -------------------------------------------------------------------------------\n1: Modules::Status::executeAction\n1: -------------------------------------------------------------------------------\n1: /Users/psy/work/pxp-agent/lib/tests/unit/modules/status_test.cc:38\n1: ...............................................................................\n1:\n1: /Users/psy/work/pxp-agent/lib/tests/unit/modules/status_test.cc:45: FAILED:\n1:   {Unknown expression after the reported line}\n1: due to unexpected exception with message:\n1:   boost::filesystem::create_directories: Permission denied: \"/opt/puppetlabs\n1:   /pxp-agent\"\n1:\n1: Completed in 0s\n1: it can call the 'query' action completed in 0.000119s\n1: -------------------------------------------------------------------------------\n1: Modules::Status::executeAction\n1: -------------------------------------------------------------------------------\n1: /Users/psy/work/pxp-agent/lib/tests/unit/modules/status_test.cc:38\n1: ...............................................................................\n1:\n1: /Users/psy/work/pxp-agent/lib/tests/unit/modules/status_test.cc:52: FAILED:\n1:   {Unknown expression after the reported line}\n1: due to unexpected exception with message:\n1:   boost::filesystem::create_directories: Permission denied: \"/opt/puppetlabs\n1:   /pxp-agent\"\n1:\n1: Completed in 0s\n1: it doesn't throw completed in 6.6e-05s\n1: it works properly when an unknown job id is provided completed in 0.005593s\n1: -------------------------------------------------------------------------------\n1: Modules::Status::executeAction\n1: -------------------------------------------------------------------------------\n1: /Users/psy/work/pxp-agent/lib/tests/unit/modules/status_test.cc:38\n1: ...............................................................................\n1:\n1: /Users/psy/work/pxp-agent/lib/tests/unit/modules/status_test.cc:72: FAILED:\n1:   {Unknown expression after the reported line}\n1: due to unexpected exception with message:\n1:   boost::filesystem::create_directories: Permission denied: \"/opt/puppetlabs\n1:   /pxp-agent\"\n1:\n1: Completed in 0s\n1: it returns status 'unknown' completed in 8.5e-05s\n1: it works properly when an unknown job id is provided completed in 0.000209s\n1: -------------------------------------------------------------------------------\n1: Modules::Status::executeAction\n1: -------------------------------------------------------------------------------\n1: /Users/psy/work/pxp-agent/lib/tests/unit/modules/status_test.cc:38\n1: ...............................................................................\n1:\n1: /Users/psy/work/pxp-agent/lib/tests/unit/modules/status_test.cc:76: FAILED:\n1:   {Unknown expression after the reported line}\n1: due to unexpected exception with message:\n1:   boost::filesystem::create_directories: Permission denied: \"/opt/puppetlabs\n1:   /pxp-agent\"\n1:\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32229", "fixedVersions": ["pxp-agent 1.0.0"], "id": "32229", "issueType": "Improvement", "key": "PCP-83", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Fixed", "resolutionDate": "2015-10-18T08:09:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Unit tests should succeed when running an non root user on a host that doesn't have the default directories.", "timeSpent": "PT0S", "updated": "2015-11-18T14:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "attachments": [], "comments": [{"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "[~accountid:557058:faa23e4b-e27a-4400-a735-de76ac155413] here is the output from {{--help}} using {{puppet-agent}} at SHA {{a8a16e92e336726c4cc9b78bf8d55b87bd4dcea9}} containing {{pxp-agent}} at SHA {{a3c718c148dfd47c1dbf0624dda57bbbfb4eeb04}}. Can you confirm that this matches your expectations?\n\n{code}\n[root@o794io1lnvfogtp ~]# /opt/puppetlabs/puppet/bin/pxp-agent --help\nUsage: pxp-agent [options]\n\nOptions:\n   -h\n  --help                      Show this message\n  --verbose                   Set verbose output\n  --version                   Display version information\n  --config-file <str>         Config file, default:\n                              /etc/puppetlabs/pxp-agent/pxp-agent.conf\n  --server <str>\n   -s <str>                   PCP server URL\n  --ca <str>                  CA certificate\n  --cert <str>                pxp-agent certificate\n  --key <str>                 pxp-agent private key\n  --logdir <str>              Log directory, default:\n                              /var/log/puppetlabs/pxp-agent\n  --loglevel <str>            Valid options are 'none', 'trace', 'debug',\n                              'info','warning', 'error' and 'fatal'. Defaults to\n                              'info'\n  --console-logger            Show log messages only on console, default: false\n                              (log to file)\n  --modules-dir <str>         Modules directory, default:\n                              /opt/puppetlabs/pxp-agent/modules\n  --modules-config-dir <str>  Module config files directory, default:\n                              /etc/puppetlabs/pxp-agent/modules\n  --spool-dir <str>           Spool action results directory, default:\n                              /opt/puppetlabs/pxp-agent/spool\n  --foreground                Don't daemonize, default: false\n\n{code}", "created": "2015-10-19T14:02:00.000000"}, {"author": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "body": "[~accountid:557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced] Yup.", "created": "2015-10-20T02:56:00.000000"}], "components": ["pxp-agent"], "created": "2015-10-14T10:21:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@de7891e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Medium"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2mrb:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Found during usability investigation"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "19/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_326722803_*|*_3_*:*_1_*:*_88271649_*|*_5_*:*_1_*:*_2537168018_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_89076006"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32152", "fixedVersions": ["pxp-agent 1.0.0"], "id": "32152", "issueType": "Improvement", "key": "PCP-82", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Fixed", "resolutionDate": "2015-10-20T06:22:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "--help flags should be grouped and not alphabetical", "timeSpent": "PT0S", "updated": "2015-11-18T14:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "attachments": [], "comments": [{"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "Using {{puppet-agent}} at SHA {{1299650662585ced59aa50ca1da01a8fe27a4f5d}} containing {{pxp-agent}} at SHA {{5aec092115fe2a67ac54920397248cb82cedf76c}} this has been validated on centos-7\n\n{code}\n[root@s4hwik4el3net9z bin]# ./pxp-agent --help\nUsage: pxp-agent [options]\n\nOptions:\n   -h                         \n  --help                      Show this message\n  --verbose                   Set verbose output\n  --version                   Display version information and quit\n...\n{code}", "created": "2015-10-20T08:48:00.000000"}], "components": ["pxp-agent"], "created": "2015-10-14T10:21:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@39a1017f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2mr3:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Found during usability investigation"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_493044073_*|*_10007_*:*_1_*:*_2741836_*|*_3_*:*_2_*:*_1839867_*|*_5_*:*_1_*:*_2528417179_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_15238146"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32028", "fixedVersions": ["pxp-agent 1.0.0"], "id": "32028", "issueType": "Improvement", "key": "PCP-81", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Fixed", "resolutionDate": "2015-10-20T08:48:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "--version help message should say \"and quit\".", "timeSpent": "PT0S", "updated": "2015-11-18T14:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2015-10-14T10:20:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@64bb182b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2mqv:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Found during usability investigation"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_165977457_*|*_10007_*:*_1_*:*_4690_*|*_3_*:*_1_*:*_1251453_*|*_5_*:*_1_*:*_2874083823_*|*_6_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31994", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31994", "issueType": "Improvement", "key": "PCP-80", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Fixed", "resolutionDate": "2015-10-16T08:47:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "--help for --log-level should show valid log levels.", "timeSpent": "PT0S", "updated": "2016-08-17T16:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "attachments": [], "comments": [{"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "Verified using {{puppet-agent}} at SHA {{f19f8d8a190c559924c2b7506f4cdd2e86e60b48}} containing {{pxp-agent}} at SHA {{4739714}}\n\n\n{code}\n[root@mz9pbvjjsvj4213 bin]# ./pxp-agent --logdir\nUnknown flag: logdir\nA configuration error has occurred: An error occurred while parsing cli options\npxp-agent cannot start\n[root@mz9pbvjjsvj4213 bin]# ./pxp-agent --logfile\nA configuration error has occurred: cannot write to 'start'", "created": "2015-10-27T16:57:00.000000"}], "components": ["pxp-agent"], "created": "2015-10-14T10:19:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2503b008"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2mqn:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Found during usability investigation"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_254538906_*|*_1_*:*_2_*:*_334744930_*|*_10007_*:*_1_*:*_3258424_*|*_3_*:*_2_*:*_13573550_*|*_5_*:*_2_*:*_1894362914_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_2_*:*_372373901_*|*_10004_*:*_1_*:*_90180451_*|*_10005_*:*_1_*:*_78308390"}], "description": "- Rename {{--logdir}} to {{--logfile}}.\n- Determine if it is possible to replace {{--console-logger}} with {{--logfile -}} and do it if we can.\n- Allow us to log to stdout even if daemonizing.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31846", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31846", "issueType": "Improvement", "key": "PCP-79", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Fixed", "resolutionDate": "2015-10-27T16:57:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Replace --logdir option with --logfile", "timeSpent": "PT0S", "updated": "2015-11-18T14:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "attachments": [], "comments": [{"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "Verified using {{puppet-agent}} at SHA {{f19f8d8a190c559924c2b7506f4cdd2e86e60b48}} containing {{pxp-agent}} at SHA {{4739714}}.\n\n\n{code}\n[root@mz9pbvjjsvj4213 bin]# ./pxp-agent --pidfile /tmp/foo/pxp.pid\n[root@mz9pbvjjsvj4213 bin]# ls /tmp/foo/\npxp.pid\n[root@mz9pbvjjsvj4213 bin]# ps ax | grep pxp-agent\n10331 ?        Sl     0:00 ./pxp-agent --pidfile /tmp/foo/pxp.pid\n10338 pts/0    S+     0:00 grep --color=auto pxp-agent\n[root@mz9pbvjjsvj4213 bin]# cat /tmp/foo/pxp.pid \n10331\n{code}", "created": "2015-10-27T17:17:00.000000"}], "components": ["pxp-agent"], "created": "2015-10-14T10:18:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2cd6baf3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Contact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker", "value": "623e76baee1b5a00702a7275"}, {"fieldName": "QA Highest Test Level Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Manually test - no need to commit to an automated test - PID file behaviour should not regress"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Risk Probability Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "PID file behaviour should not regress"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Medium"}, {"fieldName": "QA Risk Severity Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Duplicate instances must not run!"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2mqf:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Founding during usability investigation"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_270231350_*|*_1_*:*_1_*:*_324897917_*|*_10007_*:*_1_*:*_1142220_*|*_3_*:*_1_*:*_8365866_*|*_5_*:*_1_*:*_1893101526_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_373526806_*|*_10004_*:*_1_*:*_90253563_*|*_10005_*:*_1_*:*_79883582"}], "description": "Currently we cannot override the default pidfile location. We should be able to.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31835", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31835", "issueType": "New Feature", "key": "PCP-78", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Fixed", "resolutionDate": "2015-10-27T17:17:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "You should be able to specify --pidfile to pxp-agent", "timeSpent": "PT0S", "updated": "2015-11-18T14:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623cfdfb8d8b9c0068b93e3c", "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2015-10-14T10:13:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1aba3ec4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Low"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2mq7:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Found during usability investigation"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_363949915_*|*_1_*:*_1_*:*_152651246_*|*_10007_*:*_1_*:*_252385294_*|*_3_*:*_1_*:*_6074555_*|*_5_*:*_1_*:*_2021499793_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_245152308"}], "description": "When directories don't exist we have a tendency to create them. We shouldn't be behaving this way. ", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31663", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31663", "issueType": "Bug", "key": "PCP-77", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Fixed", "resolutionDate": "2015-10-26T05:37:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent should not be creating directories", "timeSpent": "PT0S", "updated": "2015-11-18T14:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "We also need a {{/etc/puppetlabs/pxp-agent/modules/}} directory.  Not sure if it makes sense to do in this pass or a second ticket.", "created": "2015-10-14T10:04:00.000000"}, {"author": "557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8", "body": "What does that mean for the modules installed in /opt/puppetlabs/pxp-agent/modules (which is currently /opt/puppetlabs/puppet/pxp-agent/modules?)?\n\nDoes it also imply that the config needs to specify that module path?  My understanding is that the pxp-agent looks in the /opt/puppetlabs/pxp-agent/modules by default.\n\nOr is this only for the module config files?", "created": "2015-10-14T10:11:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "That's just for the module config files.\n\nFrom: https://github.com/puppetlabs/puppet-specifications/blob/master/file_paths.md\n\nMain config:  {{/etc/puppetlabs/pxp-agent/pxp-agent.conf}} (PCP-75)\nModule configs: {{/etc/puppetlabs/pxp-agent/modules/*.conf}}\nModules: {{/opt/puppetlabs/pxp-agent/modules}}\nSpool: {{/opt/puppetlabs/pxp-agent/spool}}", "created": "2015-10-14T10:28:00.000000"}], "components": [], "created": "2015-10-14T08:58:00.000000", "creator": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7d703420"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2mjr:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Issue discovered during exploratory testing"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Release Engineering"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_420551384_*|*_1_*:*_1_*:*_178385_*|*_10007_*:*_1_*:*_57219383_*|*_3_*:*_1_*:*_12682893_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_31118590"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31736", "fixedVersions": [], "id": "31736", "issueType": "Task", "key": "PCP-76", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Blocker", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "resolution": "Fixed", "resolutionDate": "2015-10-20T09:54:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add /etc/puppetlabs/pxp-agent/ to puppet-agent", "timeSpent": "PT0S", "updated": "2016-05-11T17:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "attachments": [], "comments": [], "components": ["clj-pxp-puppet"], "created": "2015-10-14T08:26:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@47527ea6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyoo0n:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_422976894_*|*_3_*:*_1_*:*_4187213_*|*_5_*:*_1_*:*_0"}], "description": "We can fix the voodoo sleeps in the tests while doing this.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32151", "fixedVersions": [], "id": "32151", "issueType": "Improvement", "key": "PCP-74", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Fixed", "resolutionDate": "2015-10-19T07:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Update to new pcp-broker and release", "timeSpent": "PT0S", "updated": "2016-05-11T17:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "We're currently deciding whether or not we can use NSSM to redirect log messages and rotate log files. There's no ticket for that at the moment.", "created": "2015-10-20T03:23:00.000000"}, {"author": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "body": "Per discussion in PCP-100 and in email, we won't go the event log route for Ankeny, so removing this from the PCP Ankeny epic. We can not roll this over on the next sprint boundary, and return to this at a TBD later date.", "created": "2015-10-21T00:59:00.000000"}, {"author": "557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8", "body": "Closing because not currently a priority.  Feel free to reopen if needed.", "created": "2019-11-07T13:21:00.000000"}], "components": [], "created": "2015-10-14T06:24:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@247880a8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hym9qf:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_52109159139_*|*_3_*:*_1_*:*_410076434_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_635089813_*|*_10006_*:*_1_*:*_75178316138"}], "description": "On Windows, write to the EventLog as Application pxp-agent by default. Enable a back-end logging sync to EventLog, that can be overridden to write to a file. Register the pxp-agent EventLog Application in puppet-agent packaging as part of WIX config.\n\nSupport for writing to EventLog is [present in Boost.Log|http://www.boost.org/doc/libs/1_59_0/libs/log/doc/html/log/detailed/sink_backends.html#log.detailed.sink_backends.event_log].", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31844", "fixedVersions": [], "id": "31844", "issueType": "Improvement", "key": "PCP-73", "labels": ["windows"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Won't Do", "resolutionDate": "2019-11-07T13:21:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Enable Windows event log for pxp-agent", "timeSpent": "PT0S", "updated": "2019-11-07T13:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Already done.", "created": "2015-10-14T09:32:00.000000"}], "components": ["pxp-agent"], "created": "2015-10-14T04:53:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5527afca"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyoo0v:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_16711503_*|*_6_*:*_1_*:*_0"}], "description": "Sigterm handler for orderly shutdown.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32026", "fixedVersions": [], "id": "32026", "issueType": "New Feature", "key": "PCP-72", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Won't Fix", "resolutionDate": "2015-10-14T09:32:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add sigterm on posix", "timeSpent": "PT0S", "updated": "2015-10-14T17:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Agreed to leave it for post-Ankeny.", "created": "2015-10-14T09:34:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Ideally we'd reload config without halting PXP execution. This is so we can update configuration via Puppet over PXP.\n\nWe also need a way to do the same thing on Windows.", "created": "2016-07-15T11:46:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "An alternative if we really want to control reload would be to create a Resource Type that knows how to send the reload signal to pxp-agent (on POSIX and Windows).", "created": "2016-07-22T12:19:00.000000"}, {"author": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "body": "Some discussion on using a combo of file system watching APIs on Windows + polling - http://stackoverflow.com/questions/239988/filesystemwatcher-vs-polling-to-watch-for-file-changes", "created": "2016-07-25T11:58:00.000000"}, {"author": "557058:6713b848-54a4-4f2e-9636-a24860d9c3f2", "body": "+1 on File System Watching APIs", "created": "2016-12-02T10:39:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Fixing this would allow rethinking pxp-agent's process model, so it can own children and kill them when it's restarted.", "created": "2016-12-02T11:34:00.000000"}, {"author": "557058:18109e62-1b97-4fa3-8217-9c25de3a4710", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] The only one I know of was on the windows side, but you fixed that one. ", "created": "2017-01-09T15:33:00.000000"}], "components": ["pxp-agent"], "created": "2015-10-14T04:52:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7484fcc0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hymflr:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "PCP"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Oct/15"}], "description": "On POSIX systems, this would be a SIGHUP that can be triggered by an init script reload. On Windows there's not really a good pattern to follow (http://www.latenighthacking.com/projects/2003/sendsignal/ is one option to send an arbitrary signal to a process, but it's pretty hacky).\n\nI'd suggest we have pxp-agent periodically check if the config file has changed, and if it has reload it. If the reload fails, keep the old config and try again later. If it succeeds, perform necessary actions based on the configuration that changed (close and re-open logging, connect to a new broker if the current connection is no longer configured, etc). Reconfiguring should not halt any module actions currently running.\n\nThis may be helpful for reconfiguring pxp-agent during HA replica promotion via Orchestration. Currently actions continue running through service restart, but there is a delay in reporting success.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31993", "fixedVersions": [], "id": "31993", "issueType": "New Feature", "key": "PCP-71", "labels": ["ha-dep"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent should be able to reload configuration without stopping active modules", "timeSpent": "PT0S", "updated": "2017-09-27T14:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Required reading: https://github.com/puppetlabs/cppbestpractices/blob/master/03-FAQ.md#q-how-should-i-deal-with-unicode.", "created": "2015-10-13T16:49:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Added one more PR for std::cout in main.cc", "created": "2015-10-14T09:45:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e], can you provide some more information on how to reproduce this? Thanks.", "created": "2015-10-19T15:01:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Rename the `pxp-module-puppet` file to a file with unicode characters, like `customfacts\u2122`, then run with `--loglevel debug`. You'll see incorrect characters printed out.\n\nUnfortunately Windows Ruby doesn't support unicode characters on the command-line, so the module will still fail to load.", "created": "2015-10-19T15:04:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "Attempting to reproduce this results in a failure to run pxp-agent\n\nh3. Steps taken to reproduce\n# Install puppet-agent\n# Rename {{pxp-module-puppet}} to {{pxp-module-puppet\u2122}}  (Path = {{C:\\Program Files\\Puppet Labs\\Puppet\\pxp-agent\\modules\\pxp-module-puppet}})\n# Run {{pxp-agent}}\n\n{code}\ncd ..\\pxp-agent\\bin\npxp-agent.exe --loglevel debug\n{code}\n\nResults in the following error (filed as PCP-99)\n{code}\nC:\\Program Files\\Puppet Labs\\Puppet\\pxp-agent\\bin>pxp-agent.exe --loglevel debug\n\nA configuration error has occurred: --logdir 'C:\\ProgramData\\PuppetLabs\\pxp-agent\\var\\log' doesn't exist\npxp-agent cannot start\n{code}", "created": "2015-10-19T23:33:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "That's just RE-5776, you won't be able to verify without that being fixed - setting blocker.", "created": "2015-10-20T04:25:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e], I am not sure how to confirm a change in behavior because it is unclear to me how to reproduce the original error with the the {{logdir}} issue.\n\nUsing {{puppet-agent}} at SHA {{43d06b992d01535b9df5fb2411b1018eb6c2a86a}}, I get the following output when running {{pxp-agent.exe --loglevel debug}}\n\n{code}\nC:\\Program Files\\Puppet Labs\\Puppet\\pxp-agent\\bin>pxp-agent.exe --loglevel debug\n\nA configuration error has occurred: broker-ws-uri value must be defined\npxp-agent will start unconfigured\n{code}\n\nDoes this validate the correct behavior, or is this an incomplete recreation of the test conditions?", "created": "2015-10-21T15:52:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "You should examine the log file at {{C:\\ProgramData\\Puppet Labs\\pxp-agent\\var\\log\\pxp-agent.log}} (I think). That's where you'd see output about trying to load the module.\n\nI don't think you have to have a running pcp-broker, but if you do you could check with Sean about how to set that up and configure it.\n\nI'd expect a successful run to have a debug message stating the module couldn't be loaded, but using the correct file name (rather than a mangled name).\n\nComments to RE-5641 outlines how to setup a complete testing environment with a Windows client.", "created": "2015-10-22T09:44:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e], should this require a broker? I do not see an attempt to load the module in the log.\n\n{code}\n2015-10-22 10:15:21.013789 DEBUG puppetlabs.pxp_agent.util.daemonize:48 - Console control handler installed\n2015-10-22 10:15:21.013789 INFO  puppetlabs.pxp_agent.util.daemonize:56 - Daemonization completed", "created": "2015-10-22T11:21:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I think it requires a configuration file, even if it can't connect to a broker.", "created": "2015-10-22T11:40:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "FYI: on Windows the agent will not execute a request to load modules unless it can connect to a broker.\n\nUsing {{puppet-agent}} at SHA {{3da9c72df7c8996c43eb27506af1fc3615a3c1c0}} containing {{pxp-agent}} at SHA {{596d9de}}, the correct logging of the Unicode has been validated on Windows 2012r2.\n\nIn the log below, you can see that pxp-agent has correctly logged the trademark symbol. However, just following that, you can also see that ruby does not correctly interpret the symbol.\n\n{code}\n...\n2015-10-22 11:54:49.537553 ERROR puppetlabs.pxp_agent.external_module:133 - Failed to load the external module metadata from C:/Program Files\\Puppet Labs\\Puppet\\pxp-agent\\modules\\pxp-module-puppet\u2122.bat: ruby: No such file or directory -- C:/Program Files/Puppet Labs/Puppet/pxp-agent/modules/pxp-module-puppet\u00d6 (LoadError)\n...\n{code}", "created": "2015-10-22T13:04:00.000000"}], "components": ["pxp-agent"], "created": "2015-10-13T16:35:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3f83b9ea"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyocan:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Windows bugs"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "19/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_260846_*|*_1_*:*_1_*:*_13911_*|*_10007_*:*_1_*:*_78379317_*|*_3_*:*_1_*:*_1831250_*|*_5_*:*_1_*:*_2340252584_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_684485820"}], "description": "Renamed `pxp-module-puppet` to `customfacts\u2122` for testing unicode files, and they're not handled correctly.\n\n{code}\n2015-10-13 15:32:30.321236 DEBUG leatherman.execution:87 - executing command: C:\\Windows\\system32\\cmd.exe /c C:\\Users\\lasth\\Downloads\\deps\\modules\\customfacts\u00d6 metadata\n{code}\n\nAny project using boost::filesystem needs to enable UTF-8 on Windows, as done in https://github.com/puppetlabs/facter/blob/master/lib/src/logging/logging.cc#L13-L18.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31992", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31992", "issueType": "Bug", "key": "PCP-70", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2015-10-22T13:04:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Windows unicode files doesn't work", "timeSpent": "PT0S", "updated": "2015-11-18T14:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2015-10-13T14:08:00.000000", "creator": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1f531894"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2m4v:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Need to track change changed component behavior"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Release Engineering"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_26626_*|*_10007_*:*_1_*:*_35500851_*|*_5_*:*_1_*:*_3073716673_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_4789225"}], "description": "Update pxp-agent service configs to track change merged today in https://github.com/puppetlabs/pxp-agent/pull/133 :\n\n* Remove {{--daemonize}} from SYSV init scripts\n* Add {{--foreground}} to platforms that don't need daemonization", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31557", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31557", "issueType": "Task", "key": "PCP-69", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "resolution": "Fixed", "resolutionDate": "2015-10-14T01:20:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Update pxp-agent service configs to track PCP-63 changes", "timeSpent": "PT0S", "updated": "2016-05-11T17:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "attachments": [{"attacher": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "created": "2015-10-13T11:40:00.000000", "name": "Windows cpp-pcp-client Logging Fix.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12338"}], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Image shows cpp-pcp-client logging showing up in a pxp-agent run with the linked prototype fixes.", "created": "2015-10-13T11:41:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Commits made to both repos, added pxp-agent fixversion", "created": "2015-11-13T12:38:00.000000"}], "components": ["cpp-pcp-client"], "created": "2015-10-13T11:39:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@c216972"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyocaf:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Bug in packaged versions of pxp-agent"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Nov/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_74163_*|*_1_*:*_1_*:*_16674_*|*_10007_*:*_1_*:*_60556979_*|*_3_*:*_1_*:*_703181_*|*_5_*:*_1_*:*_2337510119_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_708301082_*|*_10006_*:*_1_*:*_15813742"}], "description": "When running pxp-agent on OS X in a dev environment (i.e. Boost with shared libraries), cpp-pcp-client log messages are correctly displayed. No matter if pxp-agent was built by using the vendored cpp-pcp-client submodule or by relying on a previously installed libcpp-pcp-client.so. \n\nOn Windows [~accountid:557058:29f801b5-e0f5-4278-a19b-0e5101f2094d] managed to build pxp-agent with the puppet-agent script, but the cpp-pcp-client logs were not displayed at all. Note that Windows uses static libraries for Boost. I expect this to show up for other platforms built with puppet-agent packaging as well.\n\nFacter's interface for handling this is https://github.com/puppetlabs/facter/blob/master/lib/inc/facter/logging/logging.hpp.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31733", "fixedVersions": ["cpp-pcp-client 1.0.1"], "id": "31733", "issueType": "Bug", "key": "PCP-68", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2015-10-22T13:50:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "cpp-pcp-client log messages are hidden in pxp-agent when Boost is statically linked", "timeSpent": "PT0S", "updated": "2015-11-18T14:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "https://github.com/puppetlabs/pxp-agent/blob/master/acceptance/tests/pxp_agent_associate.rb", "created": "2015-10-22T07:05:00.000000"}], "components": ["QA"], "created": "2015-10-13T09:38:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@787801ba"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2e0v:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_146562338_*|*_10007_*:*_1_*:*_43747_*|*_3_*:*_1_*:*_621791475_*|*_5_*:*_1_*:*_2361829658_*|*_6_*:*_1_*:*_0"}], "description": "https://testrail.ops.puppetlabs.net/index.php?/cases/view/93807\n\nSet up a broker on the server host; then create a test case (that works on CentOS and Windows agents) that gives pxp-agent config with this broker and assert that it associates correctly.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31661", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31661", "issueType": "Task", "key": "PCP-66", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2015-10-22T07:05:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent acceptance test of broker association", "timeSpent": "PT0S", "updated": "2016-07-06T17:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Changed rakefile to use genconfig based on LAYOUT environment variable\nRaised QENG-3136 requesting that Jenkins use a configuration axis that sets LAYOUT to various agent OSs", "created": "2015-10-28T07:49:00.000000"}], "components": ["QA"], "created": "2015-10-13T09:30:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3e6019ed"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2e0n:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_770434798_*|*_10007_*:*_1_*:*_421240_*|*_3_*:*_1_*:*_518989929_*|*_5_*:*_1_*:*_1840484310_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_371931"}], "description": "Currently the pxp-agent test setup is hardcoded to use a Windows agent host. The pipeline should run acceptance tests on CentOS as well as Windows", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31556", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31556", "issueType": "Task", "key": "PCP-65", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2015-10-28T07:54:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent pipeline should run acceptance tests on both Windows and CentOS", "timeSpent": "PT0S", "updated": "2015-11-18T14:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "body": "Outcome of this was PCP-77, PCP-78, PCP-79, PCP-80, PCP-81, PCP-82.", "created": "2015-10-15T03:25:00.000000"}], "components": ["pxp-agent"], "created": "2015-10-13T09:13:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@55fd8054"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2e13:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "0.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_151890773_*|*_5_*:*_1_*:*_2979821762_*|*_6_*:*_1_*:*_0"}], "description": "Confirm that we are doing doesn't go against what a sysadmin expects. Work will likely be created as an outcome of this ticket.\n\nQuestions to consider:\n\n- Should we allow a user to specify where the pidfile goes?\n- Should we be creating directories when they do not exist?\n- Do our flags behave sanely?\n\nAnd more!", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31487", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31487", "issueType": "Task", "key": "PCP-64", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Fixed", "resolutionDate": "2015-10-15T03:25:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Usability investigation", "timeSpent": "PT0S", "updated": "2016-05-11T17:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2015-10-13T07:31:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7c9e1af"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2lqn:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Found while testing"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_6084_*|*_10007_*:*_1_*:*_2952609_*|*_3_*:*_1_*:*_4342370_*|*_5_*:*_1_*:*_3130535090_*|*_6_*:*_1_*:*_0"}], "description": "$ ./build/bin/pxp-agent --foreground --console-logger --server wss://localhost:8142/pcp\nDefault config file doesn't exist.\nStarting pxp-agent unconfigured\n2015-10-13 14:28:35.540540 ERROR puppetlabs.pxp_agent.util.posix.pid_file:50 - Failed to open PID file '/var/run/puppetlabs/pxp-agent.pid'; errno=13\n2015-10-13 14:28:35.540787 ERROR puppetlabs.pxp_agent.main:36 - Failed to daemonize: failed to open PID file", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31660", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31660", "issueType": "Bug", "key": "PCP-63", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Fixed", "resolutionDate": "2015-10-13T09:33:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent always tries to demonise when starting unconfigured", "timeSpent": "PT0S", "updated": "2016-08-17T17:26:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "I agree", "created": "2015-10-13T06:38:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Fixed by removing --pid-dir and Configuration::setNonExposedOptions().", "created": "2015-10-13T06:59:00.000000"}], "components": ["pxp-agent"], "created": "2015-10-13T06:21:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@d9ce98"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2lq7:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Fixing as part of pxp-agent Windows testing"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1095550_*|*_3_*:*_1_*:*_1134535_*|*_5_*:*_1_*:*_3139804579_*|*_6_*:*_1_*:*_0"}], "description": "master@deefb63c6\n\n{code}\n$ ./build/bin/pxp-agent  --help\nUsage: pxp-agent [options]\n\nOptions:\n   -h\n  --help                      Show this message\n  --verbose                   Set verbose output\n  --version                   Display version information\n  --ca <str>                  CA certificate\n  --cert <str>                pxp-agent certificate\n  --config-file <str>         Config file, default:\n                              /etc/puppetlabs/pxp-agent/pxp-agent.conf\n  --console-logger            Show log messages only on console, default: false\n                              (log to file)\n  --foreground                Don't daemonize, default: false\n  --key <str>                 pxp-agent private key\n  --logdir <str>              Log directory, default:\n                              /var/log/puppetlabs/pxp-agent\n  --loglevel <str>            Log level; defaults to 'info'\n  --modules-config-dir <str>  Module config files directory, default:\n                              /etc/puppetlabs/pxp-agent/modules\n  --modules-dir <str>         Dirctory with modules scripts, default:\n                              /Users/richardc/src/pxp-agent/modules\n  --server <str>\n   -s <str>                   PCP server URL\n  --spool-dir <str>           Spool action results directory, default:\n                              /opt/puppetlabs/pxp-agent/spool\n  --pid-dir <str>\n{code}\n\nAs I'm starting as a unprivileged user on a dev machine, I tried to make a pid-dir relative to my working copy to be told that {{--help}} is lying:\n\n{code}\n$ ./build/bin/pxp-agent  --pid-dir tmp --foreground --console-logger --server wss://localhost:8142/pcp\nUnknown flag: pid-dir\nA configuration error has occurred:\n  An error occurred while parsing cli options\nCannot start pxp-agent\n{code}\n\nTangent 1) shouldn't this be {{--pid-file}} and not {{--pid-dir}}?  It seems odd to specify a directory here, unless we need it to make a distinct {{pxp-agent.pid}} and {{pxp-agent.pid.lock}} file in it.\n\nTangent 2) should we really need a pidfile when running with {{--foreground}} and no {{--pidfile}} specified?  If we make {{--pidfile}} optional, and then when not supplied make no pidfile in {{--foreground}} mode, are those sane semantics?\n\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31485", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31485", "issueType": "Bug", "key": "PCP-62", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2015-10-13T06:58:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent --help lists non-specifyable --pid-dir", "timeSpent": "PT0S", "updated": "2016-07-06T17:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2015-10-13T02:41:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7b45de5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2lpj:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Testing modules is not straightforward"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "0.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_4989_*|*_3_*:*_1_*:*_8861830_*|*_5_*:*_1_*:*_3146381710_*|*_6_*:*_1_*:*_0"}], "description": "Add section describing modules (metadata and config file).", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31991", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31991", "issueType": "Improvement", "key": "PCP-61", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2015-11-18T14:08:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Update pxp-agent README", "timeSpent": "PT0S", "updated": "2016-05-11T17:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This only applies to POSIX systems, so we avoid hard-coding /opt/puppetlabs in the project source code.\n\nOn Windows we use other methods, as the install location can be changed.", "created": "2015-10-12T12:57:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "It'd be nice to use a template for pxp-module-puppet to generate the hash-bang ruby path as well.", "created": "2015-10-14T14:53:00.000000"}, {"author": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "body": "Setting the \"interpreter\" value in pxp-module-puppet means we don't have to template it.", "created": "2015-10-15T03:11:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "That's also an option I like.", "created": "2015-10-15T09:52:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "I don't immediately understand what we'd do with this information?  \n\nIs this so we might derive paths to extension modules automatically?  Is so I think I prefer more direct configuration that we have via {{modules-dir}}.", "created": "2015-10-16T04:16:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I'd like to avoid hard-coding install paths into PCP, so we can isolate that more in packaging (making it easier to change if we need to). I'm not really trying to suggest how that's done.", "created": "2015-10-16T11:00:00.000000"}, {"author": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] is this still relevant?", "created": "2015-10-26T09:23:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "It's probably not needed, I'll close it until we see a reason to do it.", "created": "2015-10-26T10:14:00.000000"}], "components": ["pxp-agent"], "created": "2015-10-12T12:54:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@279ebf15"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2e0f:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1199970912_*|*_6_*:*_1_*:*_0"}], "description": "Determine at compile time the pxp-agent binary path, as done for facter: https://github.com/puppetlabs/puppet-agent/blob/master/configs/components/facter.rb#L149.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31843", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31843", "issueType": "Improvement", "key": "PCP-60", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Won't Do", "resolutionDate": "2015-10-26T10:14:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Determine at compile time the pxp-agent binary path", "timeSpent": "PT0S", "updated": "2015-11-10T15:36:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["clj-pcp-client"], "created": "2015-10-09T07:30:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5fbd315d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2kuv:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "CI flushed it out."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_5881_*|*_10007_*:*_1_*:*_1419203_*|*_3_*:*_1_*:*_3900505_*|*_5_*:*_1_*:*_0"}], "description": "The :state atom, introduced in CTH-305 and the state tracking of the :websocket-connection future atom introduced in PCP-24 are slightly at odds with each other, and can at times lead to an inconsistent view of the world due to race conditions.\n\nIn this example which sometimes fails on CI:\n\n{code}\n (client/open? #puppetlabs.pcp.client.Client{:server \"wss://localhost:8143/pcp/\", :identity \"pcp://client01.example.com/demo-client\", :state #<Atom@639bae21: :connecting>, :handlers {\"http://puppetlabs.com/associate_response\" #<client$eval5778$associate_response_handler__5779 puppetlabs.pcp.client$eval5778$associate_response_handler__5779@419a5fcd>, \"example/any_schema\" #<core$constantly$fn__4085 clojure.core$constantly$fn__4085@1c52b9e>, :default #<messaging_test$default_request_handler puppetlabs.pcp.messaging_test$default_request_handler@5a3892de>}, :should-stop #<core$promise$reify__6363@37b292fa: :pending>, :websocket-connection #<Atom@2ccf77a7: #<core$future_call$reify__6320@7cb55a54: #<core$connect_with_client$reify__604 gniazdo.core$connect_with_client$reify__604@4fd074fe>>>, :websocket-client #<WebSocketClient org.eclipse.jetty.websocket.client.WebSocketClient@ea73070>, :associate-response #<Atom@2bea68aa: #<core$promise$reify__6363@7eb0f8a1: :pending>>}))\n{code}\n\nThre is a race between make-connection returning a websocket connection into :websocket-connection, and the :on-connect callback of the websocket client being called to update :state, so we have a client that is both connected (by inspecting :websocket-connection) and 'connecting' (according to state)\n\nWe should be able to refactor client state in terms of just the :websocket-connection future atom, and eliminate these races, though we may lose some of the current `(client/state)` inspecting API.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32023", "fixedVersions": [], "id": "32023", "issueType": "Bug", "key": "PCP-59", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2015-10-09T08:59:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "(state) and (wait-for-connection) can show inconsistent views of client state", "timeSpent": "PT0S", "updated": "2015-11-09T04:32:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "attachments": [], "comments": [{"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "[~accountid:557058:29f801b5-e0f5-4278-a19b-0e5101f2094d], [~accountid:557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b], [~accountid:557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920] should the pxp-agent binary be symlinked to {{/opt/puppetlabs/bin}} in the manner that {{hiera}}, {{facter}}, {{puppet}}, {{mco}} are??", "created": "2015-10-18T09:48:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "[~accountid:557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced] no, as discussed in the [Puppet Specs PR #52|https://github.com/puppetlabs/puppet-specifications/pull/52], {{pxp-agent}} should be executed as a service and not exposed in the bin directory. ", "created": "2015-10-18T09:55:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "Thanks [~accountid:557058:29f801b5-e0f5-4278-a19b-0e5101f2094d]", "created": "2015-10-18T09:57:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "Using {{puppet-agent}}#master at SHA {{82313afcf5907d2740a649c4da581381c28b720d}} containing {{pxp-agent}}#master at SHA {{61198164854ba1d08b01a226919f366de165836c}} this passes on centos-7, but fails on Windows 2012r2 with 64 and 32 bit rubies.\n\nThe {{C:/ProgramData/PuppetLabs/pxp-agent/etc}} and {{C:/ProgramData/PuppetLabs/pxp-agent/etc/modules}} directories are not created on Windows as specified in the following lines of the path specification.\n\nhttps://github.com/puppetlabs/puppet-specifications/blame/master/file_paths.md#L222\nhttps://github.com/puppetlabs/puppet-specifications/blame/master/file_paths.md#L224\n\nPasses on centos-7\n{code}\nFound expected directory '/opt/puppetlabs/pxp-agent/modules' on platform 'centos-7-x86_64' agent 'ncc43yee4qd0cju'\nFound expected directory '/etc/puppetlabs/pxp-agent/modules' on platform 'centos-7-x86_64' agent 'ncc43yee4qd0cju'\n{code}\n\nFails on windows 2012r2 with 64bit ruby\n{code}\nFound expected directory 'C:/Program Files/Puppet Labs/Puppet/pxp-agent/modules' on platform 'windows-2012r2-64' agent 'g50rj02tlwtyp1'\nFailed to find  expected directory 'C:/ProgramData/PuppetLabs/pxp-agent/etc' on platform 'windows-2012r2-64' agent 'g50rjs02tlwtyp1'\nFailed to find  expected directory 'C:/ProgramData/PuppetLabs/pxp-agent/etc/modules' on platform 'windows-2012r2-64' agent 'g50rjs02tlwtyp1'\n{code}\n\nFails on windows 2012r2 with 32bit ruby\n{code}\nFound expected directory 'C:/Program Files (x86)/Puppet Labs/Puppet/pxp-agent/modules' on platform 'windows-2012r2-64' agent 'l9jzwvmm6ire4dr'\nFailed to find  expected directory 'C:/ProgramData/PuppetLabs/pxp-agent/etc' on platform 'windows-2012r2-64' agent 'l9jzwvmm6ire4dr'\nFailed to find  expected directory 'C:/ProgramData/PuppetLabs/pxp-agent/etc/modules' on platform 'windows-2012r2-64' agent 'l9jzwvmm6ire4dr'\n{code}", "created": "2015-10-19T08:51:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "[~accountid:557058:263afade-3e4f-46c6-b50a-cf2982192562] [~accountid:557058:295d7a84-a09b-4348-8961-a1e1764c190e]  can you see about adding these paths to the MSI?", "created": "2015-10-19T09:04:00.000000"}, {"author": "557058:295d7a84-a09b-4348-8961-a1e1764c190e", "body": "[~accountid:557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e], [~accountid:557058:151c148a-2bb4-4fdc-9320-df94e73b0363]\n\nLooking at this now along with RE-5776.\n\n", "created": "2015-10-19T09:46:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "[~accountid:557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced] there's nothing else to be done for this ticket by the development team. I'll leave it open as a reference to RE-5776 in the Client Platform board. This ticket was about updating pxp-agent to set the default paths in accordance with the Puppet Specifications.\n\n[~accountid:557058:295d7a84-a09b-4348-8961-a1e1764c190e] please update this whenever you're done with RE-5776.", "created": "2015-10-20T03:10:00.000000"}, {"author": "557058:295d7a84-a09b-4348-8961-a1e1764c190e", "body": "Resolved at part of RE-5776", "created": "2015-10-21T03:04:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "Looks like we are not laying down the {{pxp-module-puppet}} dir as specified.\n\nAlso, the executable is not installed in {{C:/Program Files (x86)}} on Windows with a 32bit msi.\n\nShould I re-open this ticket or file a new one? [~accountid:557058:295d7a84-a09b-4348-8961-a1e1764c190e] or [~accountid:557058:29f801b5-e0f5-4278-a19b-0e5101f2094d]\n\nCentos-7\n{code}\nFailed to find  expected directory '/opt/puppetlabs/pxp-agent/modules/pxp-module-puppet' on platform 'centos-7-x86_64'\n{code}\n\nWin 2012r2 64bit ruby\n{code}\nFailed to find  expected directory 'C:/Program Files/Puppet Labs/Puppet/pxp-agent/modules/pxp-module-puppet' on platform 'windows-2012r2-64'\n{code}\n\nWin 2012r2 32bit ruby\n{code}\nFailed to find  expected file 'C:/Program Files (x86)/Puppet Labs/Puppet/pxp-agent/bin/pxp-agent.exe' on platform 'windows-2012r2-64'\nFailed to find  expected directory 'C:/Program Files (x86)/Puppet Labs/Puppet/pxp-agent/modules/pxp-module-puppet' on platform 'windows-2012r2-64'\n{code}", "created": "2015-10-21T11:09:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "[~accountid:557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced], the expected `modules` directory is correct for Centos-7 and Win32.\nThe expected binary path is correct for Win64.\nWe can't say about the expected `modules` directory on Win64 since it should be based on the binary path.\n\nPerhaps, :[~accountid:557058:295d7a84-a09b-4348-8961-a1e1764c190e], re-opening RE-5776 would be more appropriate?", "created": "2015-10-21T11:26:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "Re-opened and assigned to [~accountid:557058:295d7a84-a09b-4348-8961-a1e1764c190e]", "created": "2015-10-21T11:31:00.000000"}, {"author": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "body": "It's really tricky to track down the right artifacts sometimes.\n\nRather than reiterating what I've already stated in other tickets, please see my comments on RE-5641, particularly those at https://puppet.atlassian.net/browse/RE-5641?focusedCommentId=227511&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-227511\n\nYou can use the artifacts available at:\nhttp://builds.puppetlabs.lan/puppet-agent/43d06b992d01535b9df5fb2411b1018eb6c2a86a/artifacts/windows/\n\nAlso note, that I modified the rake task to also track the SHA of the {{puppet_for_the_win}} repo used to produce the artifacts, as figuring out what bits are in a package has proven confusing.  \n\nPost-install, you can always look at the {{versions.txt}} file to see all the various pieces that went into the MSI\n\n{code}\nC:\\Users\\Administrator> type \"C:\\Program Files\\Puppet Labs\\Puppet\\misc\\versions.txt\"\n\npuppet_for_the_win 4.2.2-16-gb515d41\nfacter 3.1.0-83-g6109168\nhiera 3.0.3-41-gfd259eb\nmcollective 2.8.6-0-g4b42f1b\npuppet 4.2.2-525-g6a6049a\npxp-agent 0.1.0-241-g3f95f72\nsys 2.1.7.0-x64-0-g85847b4\n{code}", "created": "2015-10-21T12:11:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "Using {{puppet-agent}} at SHA {{43d06b992d01535b9df5fb2411b1018eb6c2a86a}}, missing specified components include {{pxp-module-puppet}} directories.\n\nSee the following link for details.\n\nhttps://puppet.atlassian.net/browse/PA-24?focusedCommentId=227824&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-227824", "created": "2015-10-21T15:36:00.000000"}, {"author": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "body": "Reassigned to [~accountid:557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced] since the checks being performed were incorrect - details noted on PA-24", "created": "2015-10-21T16:21:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "Thanks to [~accountid:557058:263afade-3e4f-46c6-b50a-cf2982192562], I have updated the spec paths. The expected directories are confirmed to be present.\n\ncentos\n{code}\nFound expected file '/opt/puppetlabs/puppet/bin/pxp-agent' on platform 'centos-7-x86_64'\nFound expected directory '/etc/puppetlabs/pxp-agent' on platform 'centos-7-x86_64'\nFound expected directory '/opt/puppetlabs/pxp-agent/modules' on platform 'centos-7-x86_64' \nFound expected file '/opt/puppetlabs/pxp-agent/modules/pxp-module-puppet' on platform 'centos-7-x86_64'\nFound expected directory '/etc/puppetlabs/pxp-agent/modules' on platform 'centos-7-x86_64' \nFound expected directory '/var/log/puppetlabs/pxp-agent' on platform 'centos-7-x86_64'\nFound expected directory '/opt/puppetlabs/pxp-agent/spool' on platform 'centos-7-x86_64' '\nFound expected directory '/var/run/puppetlabs' on platform 'centos-7-x86_64'\n{code}\n\nwindows 64 bit ruby\n{code}\nFound expected file 'C:/Program Files/Puppet Labs/Puppet/pxp-agent/bin/pxp-agent.exe' on platform 'windows-2012r2-64'\nFound expected file 'C:/Program Files/Puppet Labs/Puppet/service/nssm.exe' on platform 'windows-2012r2-64'\nFound expected directory 'C:/ProgramData/PuppetLabs/pxp-agent/etc' on platform 'windows-2012r2-64'\nFound expected directory 'C:/Program Files/Puppet Labs/Puppet/pxp-agent/modules' on platform 'windows-2012r2-64'\nFound expected file 'C:/Program Files/Puppet Labs/Puppet/pxp-agent/modules/pxp-module-puppet' on platform 'windows-2012r2-64'\nFound expected directory 'C:/ProgramData/PuppetLabs/pxp-agent/etc/modules' on platform 'windows-2012r2-64'\nFound expected directory 'C:/ProgramData/PuppetLabs/pxp-agent/var/log' on platform 'windows-2012r2-64'\nFound expected directory 'C:/ProgramData/PuppetLabs/pxp-agent/var/spool' on platform 'windows-2012r2-64'\nFound expected directory 'C:/ProgramData/PuppetLabs/pxp-agent/var/run' on platform 'windows-2012r2-64'\nFound expected directory 'C:/ProgramData/PuppetLabs/pxp-agent/var' on platform 'windows-2012r2-64'\n{code}\n\nwindows 32 bit ruby\n{code}\nFound expected file 'C:/Program Files (x86)/Puppet Labs/Puppet/pxp-agent/bin/pxp-agent.exe' on platform 'windows-2012r2-64'\nFound expected file 'C:/Program Files (x86)/Puppet Labs/Puppet/service/nssm.exe' on platform 'windows-2012r2-64'\nFound expected directory 'C:/ProgramData/PuppetLabs/pxp-agent/etc' on platform 'windows-2012r2-64'\nFound expected directory 'C:/Program Files (x86)/Puppet Labs/Puppet/pxp-agent/modules' on platform 'windows-2012r2-64'\nFound expected file 'C:/Program Files (x86)/Puppet Labs/Puppet/pxp-agent/modules/pxp-module-puppet' on platform 'windows-20122-64'\nFound expected directory 'C:/ProgramData/PuppetLabs/pxp-agent/etc/modules' on platform 'windows-2012r2-64'\nFound expected directory 'C:/ProgramData/PuppetLabs/pxp-agent/var/log' on platform 'windows-2012r2-64' \nFound expected directory 'C:/ProgramData/PuppetLabs/pxp-agent/var/spool' on platform 'windows-2012r2-64'\nFound expected directory 'C:/ProgramData/PuppetLabs/pxp-agent/var/run' on platform 'windows-2012r2-64'\nFound expected directory 'C:/ProgramData/PuppetLabs/pxp-agent/var' on platform 'windows-2012r2-64'\n{code}", "created": "2015-10-21T17:25:00.000000"}], "components": ["pxp-agent"], "created": "2015-10-09T05:31:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3231a661"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyoca7:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Consequence of PCP-12."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "18/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_76152803_*|*_1_*:*_1_*:*_5999_*|*_10007_*:*_1_*:*_104989846_*|*_3_*:*_2_*:*_349680601_*|*_4_*:*_1_*:*_21304484_*|*_5_*:*_2_*:*_2441386636_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_430096580_*|*_10006_*:*_1_*:*_67040494"}], "description": "Use default paths for external modules as determined in PCP-12.\nTest the retrieval of the \"Program Files\" directory on Windows.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31834", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31834", "issueType": "Task", "key": "PCP-57", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2015-10-21T17:25:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Set the default paths for pxp-agent modules", "timeSpent": "PT0S", "updated": "2015-11-18T14:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "attachments": [], "comments": [], "components": ["cpp-pcp-client", "pxp-agent"], "created": "2015-10-09T03:08:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@74f6534d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2kuf:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Outcome of PCP-53"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_5107_*|*_3_*:*_1_*:*_8988626_*|*_5_*:*_1_*:*_3490237281_*|*_6_*:*_1_*:*_0"}], "description": "PCP-53 showed this to be a fairly simple and mechanical process. Turn the wip commits into PRs.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31730", "fixedVersions": ["cpp-pcp-client 1.0.1"], "id": "31730", "issueType": "Task", "key": "PCP-56", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Fixed", "resolutionDate": "2015-10-09T05:38:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Use boost::thread instead of std::thread", "timeSpent": "PT0S", "updated": "2016-05-11T17:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "After discussion in PCP sync-up meeting about these tests", "created": "2015-10-13T09:02:00.000000"}], "components": ["pxp-agent"], "created": "2015-10-08T09:57:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5ca99d1e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2kp3:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_428688447_*|*_5_*:*_1_*:*_0"}], "description": "See RE-5757\n\nThe pxp-module-puppet tests will be disabled.\n\nThis ticket is to re-enable the tests when RE-5757 is resolved", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31990", "fixedVersions": [], "id": "31990", "issueType": "Bug", "key": "PCP-55", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Won't Fix", "resolutionDate": "2015-10-13T09:02:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-module-puppet acceptance tests do not pass from package install", "timeSpent": "PT0S", "updated": "2015-11-13T16:51:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "body": "Merged. [~accountid:557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b] Does this move you forward?", "created": "2015-10-09T09:00:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Commit [ec8302d68bb03c475f4ebbb4a17b15f6ee996f65|https://github.com/puppetlabs/puppet-agent/commit/ec8302d68bb03c475f4ebbb4a17b15f6ee996f65] of puppet-agent comes packaged with /opt/puppetlabs/puppet/pxp-agent/modules/pxp-module-puppet\n\nThanks [~accountid:557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920] and [~accountid:557058:faa23e4b-e27a-4400-a735-de76ac155413]", "created": "2015-10-12T08:11:00.000000"}], "components": ["pxp-agent"], "created": "2015-10-08T04:12:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4fec04d3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2kfr:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Necessary for testing the Puppet module of pxp-agent"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_97905477_*|*_10007_*:*_2_*:*_262034257_*|*_5_*:*_1_*:*_3221878161_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_8200"}], "description": "I installed this copy of puppet-agent : http://builds.delivery.puppetlabs.net/puppet-agent/7dbfdf6a27ff3bf0f951b4ba2e71e08424ce1fc1/ on EL7\n\nIt has pxp-agent but does not have the pxp-module-puppet.\nFor reference, the file path specs are here: https://github.com/puppetlabs/puppet-specifications/blob/master/file_paths.md\n\nI think RE-5642 has already handled packaging of pxp-module-puppet for Windows\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31483", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31483", "issueType": "Task", "key": "PCP-58", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2015-10-12T08:11:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add pxp-module-puppet to pxp-agent ", "timeSpent": "PT0S", "updated": "2016-08-03T18:02:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2015-10-07T10:12:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@186171bf"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2k67:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Found during testing"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_78386451_*|*_10007_*:*_1_*:*_3967508_*|*_3_*:*_1_*:*_74354476_*|*_5_*:*_1_*:*_3489848969_*|*_6_*:*_1_*:*_0"}], "description": "pxp-agent starts daemonized by default. We need to rename the flag to --foreground or --no-daemonize or something else that makes sense. ", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31841", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31841", "issueType": "Bug", "key": "PCP-54", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Fixed", "resolutionDate": "2015-10-09T05:44:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Fix --daemonize flag", "timeSpent": "PT0S", "updated": "2016-08-03T18:00:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "body": "After investigation this seems like a simple enough change. I have tested it with two WIP commits that can be found here https://github.com/ploubser/cpp-pcp-client/tree/PCP-53 and here https://github.com/ploubser/pxp-agent/tree/PCP-53 and end-to-end testing still works. \n\n[~branan ] [~accountid:557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920] If you guys could confirm that this is indeed still needed I will pull the trigger and turn the commits into PRs.", "created": "2015-10-08T08:07:00.000000"}, {"author": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "body": "[~accountid:557058:faa23e4b-e27a-4400-a735-de76ac155413], yes, this is still my recommendation. Please do make those PRs. Thanks!\n\nI'll summarize on the email thread as well.", "created": "2015-10-08T23:17:00.000000"}, {"author": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "body": "Great, in that case I'm closing this ticket and creating a new one for the bit of work that still needs to be done.", "created": "2015-10-09T03:06:00.000000"}], "components": ["pxp-agent"], "created": "2015-10-07T08:49:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6ddefee7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2k5z:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "std::thread doesn't work on AIX"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_14128_*|*_10007_*:*_1_*:*_68433874_*|*_3_*:*_1_*:*_83900886_*|*_5_*:*_1_*:*_3499200526_*|*_6_*:*_1_*:*_0"}], "description": "We can't use std::thread on AIX. Investigate and see if boost::thread will work for us.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31481", "fixedVersions": ["cpp-pcp-client 1.0.1", "pxp-agent 1.0.0"], "id": "31481", "issueType": "Task", "key": "PCP-53", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Fixed", "resolutionDate": "2015-10-09T03:09:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Investigate the use of boost:thread", "timeSpent": "PT0S", "updated": "2016-05-11T17:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["cpp-pcp-client", "pxp-agent"], "created": "2015-10-07T08:34:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1d958cbe"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hynsgn:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Application Orchestration"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1644665193_*|*_6_*:*_1_*:*_0"}], "description": "Currently when we cannot reconnect we will retry with an incremental backoff, capping at 30 seconds. It would be useful to have this maximum configurable.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32021", "fixedVersions": [], "id": "32021", "issueType": "Improvement", "key": "PCP-52", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Won't Do", "resolutionDate": "2015-10-26T09:25:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Make max reconnect retry delay configurable", "timeSpent": "PT0S", "updated": "2016-08-01T11:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "70121:372f6a1d-1a83-4b60-9f7d-6a3a29fe8f97", "body": "The pxp agent logrotate task fails on debian jessie due incorrect path of 'systemctl' binary:\n\n{{/etc/cron.daily/logrotate:\nlogrotate_script: 2: logrotate_script: /usr/bin/systemctl: not found\nerror: error running shared postrotate script for '/var/log/puppetlabs/pxp-agent/*.log '\nrun-parts: /etc/cron.daily/logrotate exited with return code 1\n}}\n\nI checked the path on a fresh jessie installation:\n\n{{root@va-jessie:~# lsb_release -a\nNo LSB modules are available.\nDistributor ID:\tDebian\nDescription:\tDebian GNU/Linux 8.2 (jessie)\nRelease:\t8.2\nCodename:\tjessie\nroot@va-jessie:~# which systemctl\n/bin/systemctl\nroot@va-jessie:~# ls -la /usr/bin/systemctl\nls: cannot access /usr/bin/systemctl: No such file or directory\nroot@va-jessie:~#}}", "created": "2015-12-04T02:50:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Hi [~accountid:70121:372f6a1d-1a83-4b60-9f7d-6a3a29fe8f97] -\n\nCheers for the bug report. To work with our sprint process", "created": "2015-12-04T03:27:00.000000"}], "components": ["pxp-agent"], "created": "2015-10-07T08:08:00.000000", "creator": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@642f40f1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2arj:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Release Engineering"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "04/Dec/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_12087375_*|*_10007_*:*_2_*:*_76256026_*|*_3_*:*_2_*:*_347406735_*|*_5_*:*_1_*:*_2524462368_*|*_6_*:*_2_*:*_1341499838_*|*_10006_*:*_2_*:*_696207293"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31839", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31839", "issueType": "Task", "key": "PCP-92", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "resolution": "Fixed", "resolutionDate": "2015-12-04T03:27:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add pxp-agent logrotate configs", "timeSpent": "PT0S", "updated": "2016-08-17T17:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Working with [~accountid:557058:263afade-3e4f-46c6-b50a-cf2982192562] with the fix from PCP-28, this appears to be a non-issue. The error message was\n{code}\n'C:\\Program' is not recognized as an internal or external command,\noperable program or batch file.\n{code}\nwhich is what cmd.exe says if you try to execute a file that's not executable when the path has spaces in it. We were effectively running\n{code}\nC:\\Windows\\System32\\cmd.exe /c \"C:\\Program Files\\Puppet Labs\\Puppet\\pxp-agent\\modules\n\\pxp-module-puppet\" metadata\n{code}", "created": "2015-10-12T18:08:00.000000"}, {"author": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "body": "Validated against a config that looks like:\n\n{code}\n{\n    \"server\" : \"wss://parent-host.corp.puppetlabs.net:8142/pcp/\",\n    \"key\" : \"C:\\\\programdata\\\\PuppetLabs\\\\puppet\\\\etc\\\\ssl\\\\pxp-agent\\\\private_keys\\\\client02.example.com.pem\",\n    \"ca\" : \"C:\\\\programdata\\\\PuppetLabs\\\\puppet\\\\etc\\\\ssl\\\\pxp-agent\\\\certs\\\\ca.pem\",\n    \"cert\" : \"C:\\\\programdata\\\\PuppetLabs\\\\puppet\\\\etc\\\\ssl\\\\pxp-agent\\\\certs\\\\client02.example.com.pem\",\n    \"modules-dir\" : \"C:\\\\Program Files\\\\Puppet Labs\\\\Puppet\\\\pxp-agent\\\\pxp-modules\",\n    \"modules-config-dir\" : \"C:\\\\ProgramData\\\\PuppetLabs\\\\pxp-agent\\\\etc\\\\modules\"\n}\n{code}", "created": "2015-10-12T18:41:00.000000"}, {"author": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "body": "Nothing to fix here.", "created": "2015-10-12T18:42:00.000000"}], "components": ["pxp-agent"], "created": "2015-10-07T08:04:00.000000", "creator": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3fce6f06"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2k53:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_470264143_*|*_6_*:*_1_*:*_0"}], "description": "In CTH-376, [~accountid:557058:263afade-3e4f-46c6-b50a-cf2982192562] reported\n\n{quote}\n it looks like Leatherman is not wrapping arguments passed to cmd.exe at https://github.com/puppetlabs/pxp-agent/blob/ae3811c3f0c9854778799a50049c91c475ea0923/lib/src/external_module.cc#L112 , so the code in pxp-agent should\n{quote}\n\nHowever, Leatherman nominally has support for paths with spaces in them at https://github.com/puppetlabs/leatherman/blob/0.2.0/execution/src/windows/execution.cc#L156-L199\n\nThis ticket is to verify if Ethan's observation is still correct and if so the fix is small enough just fix; if not, file another ticket for the fix. (If the former and the fix is in Leatherman, please move this ticket to LTH.)", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31833", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31833", "issueType": "Bug", "key": "PCP-51", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "resolution": "Won't Fix", "resolutionDate": "2015-10-12T18:42:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Investigate execution of paths with spaces in them", "timeSpent": "PT0S", "updated": "2015-11-10T15:36:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["clj-pxp-puppet"], "created": "2015-10-07T05:37:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@9cf80bb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2kv3:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Clojure bandwidth"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_439787900_*|*_10007_*:*_1_*:*_71127035_*|*_3_*:*_1_*:*_2415454_*|*_5_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31479", "fixedVersions": [], "id": "31479", "issueType": "Task", "key": "PCP-50", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Fixed", "resolutionDate": "2015-10-13T04:12:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Integrate new clj-pcp-client ", "timeSpent": "PT0S", "updated": "2016-08-03T18:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Done - http://builds.delivery.puppetlabs.net/puppet-agent/3fd88490515941d43adee5effb8f2954fe1c5e8c/ has Windows artifacts", "created": "2015-10-08T08:54:00.000000"}], "components": ["pxp-agent"], "created": "2015-10-06T10:01:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2a1ab25d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2jnr:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Change to Jenkins config required"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_843723_*|*_3_*:*_1_*:*_167941764_*|*_5_*:*_1_*:*_3564882341_*|*_6_*:*_1_*:*_0"}], "description": "Tracking ticket - Jenkins config should be updated so we build on Windows per-commit", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32150", "fixedVersions": ["pxp-agent 1.0.0"], "id": "32150", "issueType": "Task", "key": "PCP-48", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2015-10-08T08:54:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add Windows x64 and x86 as build targets", "timeSpent": "PT0S", "updated": "2016-05-11T17:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2015-10-06T08:49:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@46363e1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2jgf:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1300193586_*|*_10007_*:*_1_*:*_65600274_*|*_3_*:*_1_*:*_1353370_*|*_5_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32018", "fixedVersions": [], "id": "32018", "issueType": "Sub-task", "key": "PCP-47", "labels": [], "originalEstimate": "PT0S", "parent": "31832", "parentSummary": "Release public clojure components to clojars", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2015-10-22T04:34:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "release clj-pcp-client", "timeSpent": "PT0S", "updated": "2015-10-22T04:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2015-10-06T08:48:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2c5c55af"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2jg7:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1298245212_*|*_10007_*:*_1_*:*_1009567_*|*_3_*:*_1_*:*_944045_*|*_5_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31989", "fixedVersions": ["pcp-broker 0.5.0"], "id": "31989", "issueType": "Sub-task", "key": "PCP-46", "labels": [], "originalEstimate": "PT0S", "parent": "31832", "parentSummary": "Release public clojure components to clojars", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2015-10-21T09:58:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "release pcp-broker", "timeSpent": "PT0S", "updated": "2015-10-21T09:58:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2015-10-06T08:48:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@34b75864"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2jfz:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1295803595_*|*_10007_*:*_1_*:*_1200239_*|*_3_*:*_1_*:*_1213114_*|*_5_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31958", "fixedVersions": ["clj-pcp-common 0.5.0"], "id": "31958", "issueType": "Sub-task", "key": "PCP-45", "labels": [], "originalEstimate": "PT0S", "parent": "31832", "parentSummary": "Release public clojure components to clojars", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2015-10-21T09:25:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "release clj-pcp-common", "timeSpent": "PT0S", "updated": "2015-10-21T09:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:a3132145-aae4-410f-9f7a-85a3117a0c14", "body": "https://confluence.puppetlabs.com/display/RE/Releasing+Libraries\n\nYou need to make sure you're in compliance with all of the stuff on that page and then file a Jira ticket for RE.  Make sure you let them know a date that you need it by if it's urgent.", "created": "2015-10-06T11:47:00.000000"}], "components": [], "created": "2015-10-06T08:47:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3b62a6a6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2e07:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1367234025_*|*_5_*:*_1_*:*_0"}], "description": "To enable travis tests, and 3rd parties to use our modules, we really need to start publishing the clojure components to clojars rather than our local nexus.\n\nThe process for this I believe is going to be something like:\n\n* Get releng to thumbs-up releasing into the public puppetlabs namespace for all the repos (in linked tickets RE-5748, RE-5749, RE-5750).\n* Add clabot monitoring to the repositories\n* Prepare a PR that\n** Removes settings from each projects project.clj that make lein deploy push to the nexus\n** Updates the README.md to use that nifty 'get this from clojars' badge\n** Updates/adds a CHANGELOG.md of a similar style to tk-webserver-jetty9\n* Get that PR merged\n* Cut a release from jenkins\n\nThis will need to be in the order clj-pcp-common, clj-pcp-broker, clj-pcp-client.  Will create subtasks for each component.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31832", "fixedVersions": [], "id": "31832", "issueType": "Story", "key": "PCP-44", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2015-10-22T04:34:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Release public clojure components to clojars", "timeSpent": "PT0S", "updated": "2015-10-22T04:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["clj-pcp-client"], "created": "2015-10-06T04:58:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@753c79cd"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2j4v:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Semi-blocked on PCP-35 -> PCP-33 so had bandwidth"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_17714714_*|*_10007_*:*_1_*:*_3793431_*|*_3_*:*_1_*:*_68958712_*|*_5_*:*_1_*:*_0"}], "description": "Following the pattern of other client libraries we should refactor the client a little to make there be a Client interface we return a record implementing an instance of it, so we have a convenient place to hang a {{close}} function so we can use {{with-open}}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31957", "fixedVersions": [], "id": "31957", "issueType": "Improvement", "key": "PCP-43", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2015-10-07T06:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Make clj-pcp-client work with with-open", "timeSpent": "PT0S", "updated": "2015-10-14T17:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2015-10-05T15:43:00.000000", "creator": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6ca9847f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2j4f:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Release Engineering"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_30327948_*|*_1_*:*_1_*:*_14166_*|*_10007_*:*_2_*:*_110095305_*|*_3_*:*_2_*:*_468415667_*|*_5_*:*_1_*:*_3019084510_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_16007007_*|*_10005_*:*_1_*:*_155599811"}], "description": "{code}\n# /opt/puppetlabs/puppet/bin/pxp-agent\ndyld: Library not loaded: libcpp-pcp-client.so\n  Referenced from: /opt/puppetlabs/puppet/bin/pxp-agent\n  Reason: image not found\nTrace/BPT trap: 5\nbash-3.2# find /opt/ -name libcpp-pcp-client.so\n/opt//puppetlabs/puppet/lib/libcpp-pcp-client.so\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32016", "fixedVersions": ["cpp-pcp-client 1.0.1", "pxp-agent 1.0.0"], "id": "32016", "issueType": "Bug", "key": "PCP-67", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "resolution": "Fixed", "resolutionDate": "2015-10-14T16:30:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent doesn't find libcpp-pcp-client.so on OSX", "timeSpent": "PT0S", "updated": "2016-05-11T17:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "body": "This blog post looked potentially handy: http://www.perkin.org.uk/posts/solaris-portability-flock.html", "created": "2015-10-05T11:42:00.000000"}, {"author": "557058:8872d0b6-d198-4e25-92ad-02776be82d59", "body": "Verified that the build failure symptoms have not presented in the last two days.\n", "created": "2015-10-08T14:21:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Successfully built on Solaris 10 386 after PR #118: https://jenkins.puppetlabs.com/view/All%20in%20One%20Agent/view/Master/view/Puppet%20Agent%20Daily/job/platform_aio-suite_pkg-build_master/BUILD_TARGET=solaris-10-i386,SLAVE_LABEL=beaker/43/", "created": "2015-10-09T03:53:00.000000"}], "components": ["pxp-agent"], "created": "2015-10-05T11:41:00.000000", "creator": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@24e0ab02"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2ifb:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "This is blocking RE"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_58272485_*|*_10007_*:*_1_*:*_92634932_*|*_3_*:*_1_*:*_106132886_*|*_5_*:*_1_*:*_3545283544_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_11717991"}], "description": "Example build: https://jenkins.puppetlabs.com/view/All%20in%20One%20Agent/view/Master/view/Puppet%20Agent%20Daily/job/platform_aio-suite_pkg-build_master/BUILD_TARGET=solaris-10-i386,SLAVE_LABEL=beaker/38/console\n\nSample snippet:\n{code}\n/var/tmp/tmp.OtaiZe/pxp-agent/lib/src/util/posix/pid_file.cc: In static member function 'static void PXPAgent::Util::PIDFile::exclusivelyLockFile(int)':\n/var/tmp/tmp.OtaiZe/pxp-agent/lib/src/util/posix/pid_file.cc:148:19: error: 'LOCK_EX' was not declared in this scope\n     if (flock(fd, LOCK_EX | LOCK_NB) != 0) {\n                   ^\n/var/tmp/tmp.OtaiZe/pxp-agent/lib/src/util/posix/pid_file.cc:148:29: error: 'LOCK_NB' was not declared in this scope\n     if (flock(fd, LOCK_EX | LOCK_NB) != 0) {\n                             ^\n/var/tmp/tmp.OtaiZe/pxp-agent/lib/src/util/posix/pid_file.cc: In static member function 'static void PXPAgent::Util::PIDFile::unlockFile(int)':\n/var/tmp/tmp.OtaiZe/pxp-agent/lib/src/util/posix/pid_file.cc:162:19: error: 'LOCK_UN' was not declared in this scope\n     if (flock(fd, LOCK_UN) == -1) {\n                   ^\nlib/CMakeFiles/libpxp-agent.dir/build.make:333: recipe for target 'lib/CMakeFiles/libpxp-agent.dir/src/util/posix/pid_file.cc.o' failed\ngmake[3]: *** [lib/CMakeFiles/libpxp-agent.dir/src/util/posix/pid_file.cc.o] Error 1\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31956", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31956", "issueType": "Bug", "key": "PCP-49", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "resolution": "Fixed", "resolutionDate": "2015-10-08T14:21:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent build broken on solaris 10", "timeSpent": "PT0S", "updated": "2016-05-11T17:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2015-10-02T03:19:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1d724972"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2hkn:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Keep track of leatherman changes"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_272617716_*|*_3_*:*_1_*:*_8667199_*|*_5_*:*_1_*:*_3822093302_*|*_6_*:*_1_*:*_0"}], "description": "Leatherman's execution interface has changed; update pxp-agent ExternalModule class to it.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32014", "fixedVersions": ["pxp-agent 1.0.0"], "id": "32014", "issueType": "Improvement", "key": "PCP-29", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2015-11-18T14:08:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Update pxp-agent to new leatherman's execution library", "timeSpent": "PT0S", "updated": "2016-05-11T17:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "attachments": [], "comments": [], "components": [], "created": "2015-10-02T02:13:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@610ec7e5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2hkf:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Consequence of CTH-359 increased scope"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_6611_*|*_3_*:*_1_*:*_275277124_*|*_5_*:*_1_*:*_0"}], "description": "Update paths of all PCP / PXP components to match CTH-359 changes; see Puppet Specifications PR #50.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31955", "fixedVersions": [], "id": "31955", "issueType": "Improvement", "key": "PCP-26", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Done", "resolutionDate": "2015-10-05T06:41:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Update default paths of all PCP / PXP components", "timeSpent": "PT0S", "updated": "2016-07-06T17:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:d9266b08-990a-449f-97ff-f9a0910c2a58", "body": "Just need to know where ruby is. :)", "created": "2015-09-30T12:06:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "Well if we have to tell it where a ruby is, doesn't this just become a config problem?\n\n{code}\n# etc/pxp-agent/conf.d/puppet.conf (mapped to correct local equvalient)\ninterpereter = \"C:/PF/PL/bin/ruby.exe\" -I \"C:/PF/PL/lib\"\n{code}\n\n", "created": "2015-10-01T04:49:00.000000"}, {"author": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "body": "I think a config file problem may be the lesser of the evils here?\n\nAt least then it's exposed and user settable.. whereas the shebang hardcodes a Ruby runtime path.\n", "created": "2015-10-01T18:17:00.000000"}, {"author": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "body": "I agree that going the config file route is best. Picking this up.", "created": "2015-10-09T08:57:00.000000"}, {"author": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "body": "I believe that we should also update the {{README}} for the repo with information about the new \"interpreter\" configuration option.\n\nIt is valid in the module configuration and should be noted in https://github.com/puppetlabs/pxp-agent/tree/master/modules", "created": "2015-10-12T17:09:00.000000"}], "components": ["pxp-agent"], "created": "2015-09-30T11:28:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@49e741d6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2fwv:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Consequence of decisions made for CTH-359"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "30/Sep/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_768510830_*|*_10007_*:*_1_*:*_3166587_*|*_3_*:*_1_*:*_261821707_*|*_5_*:*_1_*:*_3213302800_*|*_6_*:*_1_*:*_0"}], "description": "On Windows we won't rely on .bat script runners; we must execute external ruby modules by invoking the `ruby` command. ExternalModule should discriminate that.\n\nThat follows what has been decided for CTH-359 (https://github.com/puppetlabs/puppet-specifications/pull/50).", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31659", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31659", "issueType": "Improvement", "key": "PCP-28", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2015-10-12T10:33:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "pxp-agent should execute external modules based on platform", "timeSpent": "PT0S", "updated": "2016-08-03T18:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:b72c16a2-594d-45f8-90bc-c6bc6c9510a8", "attachments": [], "comments": [{"author": "70121:b72c16a2-594d-45f8-90bc-c6bc6c9510a8", "body": "After messing around with this for a while this week, I've been unable to get a stable build of GCC with std::thread enabled. \n\nboost::thread does seem to be working correctly.\n\n[~accountid:557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920] At this point my recommendation is to use {{boost::thread}}", "created": "2015-10-02T12:48:00.000000"}], "components": [], "created": "2015-09-30T09:45:00.000000", "creator": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@333add3a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2fsv:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "5.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_183656179_*|*_3_*:*_1_*:*_138549_*|*_5_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31954", "fixedVersions": [], "id": "31954", "issueType": "Task", "key": "PCP-15", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "resolution": "Done", "resolutionDate": "2015-10-02T12:48:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Standard thread on AIX", "timeSpent": "PT0S", "updated": "2016-07-06T17:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "As seen in confusion in other places {{broker-uri}} rather than {{broker}} may more clearly spell out that we mean {{wss://pcp-broker.example.com:8142/pcp}} and not {{pcp-broker.example.com}}", "created": "2015-10-13T03:39:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "{{broker-uri}} may confuse with the PCP URI.", "created": "2015-10-13T05:08:00.000000"}, {"author": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "body": "{{broker-ws-uri}} maybe?", "created": "2015-10-13T05:17:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Yeah, I was thinking about using something protocol agnostic to a avoid an explicit reference to WS, but nothing came to my mind.\n\n+1 for {{broker-ws-uri}}", "created": "2015-10-13T05:28:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "Sold", "created": "2015-10-13T05:59:00.000000"}, {"author": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "body": "Is this still blocked on CI?", "created": "2015-10-22T13:19:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "I think It's gone through the pipeline a few times now - resolving.", "created": "2015-10-23T04:33:00.000000"}], "components": ["pxp-agent"], "created": "2015-09-30T07:33:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@48439048"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyoc9r:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_259093985_*|*_1_*:*_3_*:*_1541856270_*|*_10007_*:*_1_*:*_4424178_*|*_3_*:*_3_*:*_81542260_*|*_5_*:*_1_*:*_2284568050_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_89477216"}], "description": "Rename pxp-agent options to be more consistent with pcp-broker:\n - -\"broker\"- \"broker-ws-uri\" instead of \"server\"\n - \"ssl-key\", \"ssl-cert\", \"ssl-ca-cert\" instead of, respectively, \"key\", \"cert\", \"ca\"\n\nEnsure that changes are properly integrated to other components downstream\n \n\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31555", "fixedVersions": ["cpp-pcp-client 1.0.1", "pxp-agent 1.0.0"], "id": "31555", "issueType": "Improvement", "key": "PCP-23", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2015-10-23T04:33:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Rename pxp-agent options to improve consistency with Puppet ones", "timeSpent": "PT0S", "updated": "2016-07-06T17:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "body": "With all the activity on windows, I'm not clear what this ticket implies. Can we flesh out the description? (Or alternately close it out as a dupe if it is.) Thanks!", "created": "2015-10-07T07:57:00.000000"}, {"author": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "body": "ping [~accountid:557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b]", "created": "2015-10-07T08:02:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "I think this ticket is specifically for the pxp-module-puppet module in Windows. I'm currently (or very soon) doing this as part of CTH-379 to get the existing pxp-module-puppet tests passing against Windows", "created": "2015-10-07T08:08:00.000000"}, {"author": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "body": "[~accountid:557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b] Can we close it in favour of CTH-379?", "created": "2015-10-07T08:11:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Work will be done in CTH-379 - added an extra point to that ticket", "created": "2015-10-07T08:20:00.000000"}], "components": ["pxp-agent"], "created": "2015-09-28T09:27:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2dada241"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyonyf:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "07/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_773593424_*|*_6_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32258", "fixedVersions": [], "id": "32258", "issueType": "Task", "key": "PCP-14", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Duplicate", "resolutionDate": "2015-10-07T08:20:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Test on Windows", "timeSpent": "PT0S", "updated": "2015-11-13T16:51:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "For pcp-broker my current thinking is along these lines:\n\nERROR - only really bad things\nWARN - mostly bad things\nINFO - service started/stopped\nDEBUG - client connecting, client session establishment, client disconnected, message acceptance, message delivery\nTRACE - messages moving through queues, message information during association.  May include message bodies so not sure if this will set off security hot-buttons\n\nWhen identifying a connected client we should identify its associated uri (or before it's known the certificate common name), it's network address (IP:Port)\n\nWhen identifying a message we should use the :id, and in some cases its destination (message-id 12345 may be going to two recipients, each is considered a distinct delivery)\n\nSome handwavy examples:\n\nClient connect:\n\n{code}\nDEBUG - client client01.example.com connected from 192.168.1.21:80102\n{code}\n\nClient association:\n{code}\nTRACE - message on [client01.example.com 192.168.1.21:80102] message: {:message_type \"http://puppetlabs.com/association_request\" :sender \"pcp://client01.example.com/test\" :targets [\"pcp:///server\"]}\nDEBUG - client pcp://client01.example.com/test associated from 192.168.1.21:80102\n{code}\n\nMessage acceptance:\n\n{code}\nDEBUG - Message 241f69c6-77e2-11e5-8bcf-feff819cdc9f accepted from pcp://client01.example.com/test-client 192.168.1.21:80102\nTRACE - Message 241f69c6-77e2-11e5-8bcf-feff819cdc9f accepted: envelope: {:sender pcp://client01.example.com/test-client :targets [\"pcp://client01.example.com/test-client\"] :message_type \"some/test\"\nTRACE - Message 241f69c6-77e2-11e5-8bcf-feff819cdc9f for pcp://client01.example.com/test-client spooled to accept queue\n{code}\n\nMessage delivery:\n{code}\nTRACE - Handling message 241f69c6-77e2-11e5-8bcf-feff819cdc9f for pcp://client01.example.com/test-client from accept queue\nDEBUG - Message 241f69c6-77e2-11e5-8bcf-feff819cdc9f delivered to pcp://client01.example.com/test-client [client01.example.com 192.168.1.21:80102]\nTRACE - Message 241f69c6-77e2-11e5-8bcf-feff819cdc9f for pcp://client01.example.com/test-client consumed\n{code}\n\nMessage retry:\n{code}\nTRACE - Handling message 241f69c6-77e2-11e5-8bcf-feff819cdc9f for pcp://client01.example.com/test-client from accept queue\nTRACE - Message 241f69c6-77e2-11e5-8bcf-feff819cdc9f recipient pcp://client01.example.com/test-client is not currently connected, queuing for redelivery\nTRACE - Message 241f69c6-77e2-11e5-8bcf-feff819cdc9f for pcp://client01.example.com/test-client spooled to accept queue\n{code}\n\nThis is maybe a good time to use [structured-logging|https://github.com/puppetlabs/structured-logging] and/or [i18n|https://github.com/puppetlabs/i18n] if they can be made to co-exist.", "created": "2015-10-21T05:35:00.000000"}, {"author": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "body": "After looking at pxp-agent at INFO level I came up with the following comments. \n\n \nObservations while running at INFO\n---\n\nLog Line:\n- 2015-11-02 14:33:54.390629 INFO  puppetlabs.pxp_agent.main:145 - pxp-agent logging has been initialized\n\nComment:\n- Do we care about letting users know that loglevel has been initialized at info?\n\nSuggestion:\n- Drop to debug\n\nLog Line:\n- 2015-11-02 14:33:54.390845 ERROR puppetlabs.pxp_agent.main:160 - WebSocket configuration error (broker-ws-uri value must be defined)", "created": "2015-11-02T08:45:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "[~accountid:557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b] is there more testing to do here, or is this just a wrapper for the subtasks that you have already resolved?", "created": "2015-11-10T09:31:00.000000"}], "components": ["clj-pcp-client", "clj-pxp-puppet", "cpp-pcp-client", "pcp-broker", "pxp-agent"], "created": "2015-09-28T09:22:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3c94dacd"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyoafz:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3010296950_*|*_10007_*:*_1_*:*_70112231_*|*_3_*:*_1_*:*_616269740_*|*_5_*:*_1_*:*_642012869_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_88489216"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32011", "fixedVersions": ["cpp-pcp-client 1.0.1", "pxp-agent 1.0.0"], "id": "32011", "issueType": "Improvement", "key": "PCP-5", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Fixed", "resolutionDate": "2015-11-11T03:48:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Logging pass", "timeSpent": "PT0S", "updated": "2015-11-18T14:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "body": "More information:\n\nThis behaviour was implemented with the intention of simplifying acceptance testing for the service. Due to the nature of pxp-agent, a valid configuration was required for starting up the service. By implementing what we now call \"unconfigured mode\" it allowed acceptance tests to simply install the package and start the service to test if it went into a working state. ", "created": "2015-11-10T04:43:00.000000"}], "components": ["pxp-agent"], "created": "2015-09-28T09:18:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4a2aa6f4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyony7:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_594240254_*|*_10007_*:*_1_*:*_3457340_*|*_3_*:*_1_*:*_88386730_*|*_5_*:*_1_*:*_3741352916_*|*_6_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31988", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31988", "issueType": "Improvement", "key": "PCP-30", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Fixed", "resolutionDate": "2015-10-06T07:53:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Agent should start without a config file, but not start a connector", "timeSpent": "PT0S", "updated": "2016-08-03T17:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "The package setup is done and the first acceptance test is now running in Jenkins. I will create items for the next sprint to get the pipeline spreading tests across Posix and Windows", "created": "2015-10-13T09:28:00.000000"}], "components": [], "created": "2015-09-28T07:22:00.000000", "creator": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@666559"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2dzz:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1303578994_*|*_5_*:*_1_*:*_3130808684_*|*_6_*:*_1_*:*_0"}], "description": "Tests are outlined in Test Rail [here|https://testrail.ops.puppetlabs.net/index.php?/suites/view/375]\n\nImplement the tests for pxp-agent as a component of puppet-agent\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31554", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31554", "issueType": "Task", "key": "PCP-9", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "resolution": "Fixed", "resolutionDate": "2015-10-13T09:28:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Acceptance tests for pxp-agent in Puppet agent", "timeSpent": "PT0S", "updated": "2016-05-25T17:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Marked as blocked as there an ongoing discussion about what should trigger the log file rotation", "created": "2015-10-05T07:08:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "We decided to rely on  SIGUSR2 to let the logger reopen the log file", "created": "2015-10-14T06:21:00.000000"}, {"author": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "body": "[~accountid:557058:29f801b5-e0f5-4278-a19b-0e5101f2094d], is there any work needed to implement SIGUSR2 handling in pxp-agent? ", "created": "2015-10-15T02:53:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Yes [~accountid:557058:3bbf1c83-df0e-4372-887d-cfc38dee9330]. I'm about to submit a PR for this, with the logic to reopen the logfile (in Configuration) and the SIGUSR2 handler.", "created": "2015-10-15T02:56:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "[~accountid:557058:3bbf1c83-df0e-4372-887d-cfc38dee9330] should I be expecting a {{/etc/logrotate.d/pxp-agent}} config file to be installed on *nix systems? If not, what config will be used with {{logrotate}} to trigger this behavior?", "created": "2015-10-19T09:22:00.000000"}, {"author": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "body": "[~accountid:557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced], yes, once PCP-92 is merged and integrated, {{/etc/logrotate.d/pxp-agent}} should be installed on Linux systems.", "created": "2015-10-19T13:10:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "Thanks [~accountid:557058:3bbf1c83-df0e-4372-887d-cfc38dee9330], setting testing blocked by PCP-92.", "created": "2015-10-19T13:36:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "As of {{pxp-agent}} SHA {{3f95f72}}, the service does not create a pidfile. The absence of this pidfile causes the logrotate script to error.\n\nService does not create pidfile PCP-114\n{code}\n[root@tkdspv0nll6fsef ~]# service pxp-agent status\nRedirecting to /bin/systemctl status  pxp-agent.service\npxp-agent.service - PCP Execution Protocol (PXP) Agent\n   Loaded: loaded (/usr/lib/systemd/system/pxp-agent.service", "created": "2015-10-21T17:00:00.000000"}, {"author": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "body": "Opened https://github.com/puppetlabs/pxp-agent/pull/171 to add a systemd-specific logrotate config.", "created": "2015-10-21T22:59:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "Pending another PR to puppet-agent", "created": "2015-10-22T11:40:00.000000"}, {"author": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "body": "[PR|https://github.com/puppetlabs/puppet-agent/pull/375] to add systemd-specific logrote config to puppet-agent was merged at https://github.com/puppetlabs/puppet-agent/commit/9345e50c2b69d769c3a58c0a8fad5e176b8832ed. ", "created": "2015-10-28T10:00:00.000000"}, {"author": "557058:b3e6b0df-198d-45f8-9ba5-d41f90e80ced", "body": "Using {{puppet-agent}} at SHA {{c82a813640b7535e6fa6d477a0d7023925cc0561}} containing {{pxp-agent}} at SHA {{bbb274000c14d7eb784d40a6aad93e8da6c6086c}}, log rotation for {{pxp-agent}} has been validated on centos-7-x86_64 and ubuntu-14.04-x86_64.", "created": "2015-11-01T06:16:00.000000"}], "components": ["pxp-agent"], "created": "2015-09-28T05:50:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2165cb4f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyoafr:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Other tasks are currently blocked."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_230412207_*|*_1_*:*_1_*:*_6096_*|*_10007_*:*_1_*:*_5292365_*|*_3_*:*_3_*:*_1283535742_*|*_5_*:*_1_*:*_1497114075_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_2_*:*_720905702_*|*_10004_*:*_1_*:*_702631063"}], "description": "Rotate log files by using boost::log functionality.\nAdd functionality to leatherman's logging library.\nIf necessary, retrieve configuration arguments from CL / config file.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32257", "fixedVersions": ["pxp-agent 1.0.0"], "id": "32257", "issueType": "New Feature", "key": "PCP-6", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2015-11-01T06:17:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Rotate pxp-agent log files on *nix", "timeSpent": "PT0S", "updated": "2018-04-10T12:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "I don't believe this should be hard-coded, but instead configured at compile time, ala https://github.com/puppetlabs/puppet-agent/blob/master/configs/components/facter.rb#L157.", "created": "2015-10-09T15:07:00.000000"}], "components": ["pxp-agent"], "created": "2015-09-24T16:41:00.000000", "creator": "557058:d9266b08-990a-449f-97ff-f9a0910c2a58", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2ca3f68c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyodiv:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Decided to split apart from CTH-359."}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_491536344_*|*_10007_*:*_1_*:*_91734093_*|*_3_*:*_1_*:*_238013734_*|*_4_*:*_1_*:*_106211674_*|*_5_*:*_1_*:*_3729150678_*|*_6_*:*_2_*:*_7306188_*|*_10004_*:*_2_*:*_82478638"}], "description": "From CTH-359, puppet-specification should document where the the pxp-agent binaries will be located for Windows and POSIX.\n\n\nhttps://github.com/puppetlabs/puppet-specifications/blame/master/file_paths.md#L62-L67 (sorry for using blame, I didn't find a great way of getting line numbers from GitHub and markdown).\n\nhttps://github.com/puppetlabs/puppet-specifications/blame/master/file_paths.md#L213-L233", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32009", "fixedVersions": ["pxp-agent 1.0.0"], "id": "32009", "issueType": "Task", "key": "PCP-12", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:d9266b08-990a-449f-97ff-f9a0910c2a58", "resolution": "Fixed", "resolutionDate": "2015-11-18T14:09:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Document Binary path information for pxp-agent (puppet-specification)", "timeSpent": "PT0S", "updated": "2016-05-25T17:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["clj-pcp-client"], "created": "2015-09-22T04:28:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@54a67df"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2k6f:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Adopted"}, {"fieldName": "Scope Change Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Bandwidth on clojure tickets, pulled it forwards a sprint"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1394397406_*|*_10007_*:*_1_*:*_2791099_*|*_3_*:*_1_*:*_81122257_*|*_5_*:*_1_*:*_0"}], "description": "While we only have one client, having the associate_reponse handler in pxp-puppet is fine. In the future there will be more and we ideally want to handle this in the clj-pcp-client library.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32149", "fixedVersions": [], "id": "32149", "issueType": "Improvement", "key": "PCP-4", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Fixed", "resolutionDate": "2015-10-09T07:07:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Implement associate_reponse handler in pcp-client", "timeSpent": "PT0S", "updated": "2016-08-03T18:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2015-09-21T06:14:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6d500d76"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2amf:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_441089475_*|*_1_*:*_1_*:*_1466383710_*|*_10007_*:*_1_*:*_682884239_*|*_3_*:*_1_*:*_1091300_*|*_5_*:*_1_*:*_0"}], "description": "Remove the pcp-broker configs and point to the version of pcp-broker created by CTH-367 ", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31598", "fixedVersions": [], "id": "31598", "issueType": "Sub-task", "key": "PCP-39", "labels": [], "originalEstimate": "PT0S", "parent": "32148", "parentSummary": "Move reference configuration files into resource/ext/config", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2015-10-21T06:05:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Update pe-orchestration-services", "timeSpent": "PT0S", "updated": "2015-10-21T06:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "Release pcp-broker 0.3.0 to internal nexus", "created": "2015-10-08T05:33:00.000000"}], "components": [], "created": "2015-09-21T06:12:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@71d546c1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2am7:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1465666964_*|*_3_*:*_1_*:*_796439_*|*_5_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32322", "fixedVersions": [], "id": "32322", "issueType": "Sub-task", "key": "PCP-38", "labels": [], "originalEstimate": "PT0S", "parent": "32148", "parentSummary": "Move reference configuration files into resource/ext/config", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2015-10-08T05:33:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Release pcp-broker", "timeSpent": "PT0S", "updated": "2015-10-08T05:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "Use a named webserver for consistency with pe-orchestration-services.", "created": "2015-09-28T09:07:00.000000"}], "components": [], "created": "2015-09-21T06:12:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@600ca146"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2alz:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1463551004_*|*_10007_*:*_1_*:*_848108_*|*_3_*:*_1_*:*_1938377_*|*_5_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32256", "fixedVersions": [], "id": "32256", "issueType": "Sub-task", "key": "PCP-37", "labels": [], "originalEstimate": "PT0S", "parent": "32148", "parentSummary": "Move reference configuration files into resource/ext/config", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2015-10-08T05:31:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add config to pcp-broker", "timeSpent": "PT0S", "updated": "2015-10-08T05:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pcp-broker"], "created": "2015-09-21T06:12:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@38c3f3c3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyoc9z:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_441090885_*|*_1_*:*_1_*:*_1467735651_*|*_10007_*:*_1_*:*_682760554_*|*_3_*:*_1_*:*_3955_*|*_5_*:*_1_*:*_38304449359_*|*_6_*:*_1_*:*_0"}], "description": "As per the discussion on the development list (thread: [dev] ezbake and conf.d config files), the pattern we now want to be following is the sample ezbake configuration for a component should be in resources/ext/config/conf.d, with breadcrumbs from the composite project.\n\nMove them out of pe-orchestration-services after cutting a release of pxp-broker with them added.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32148", "fixedVersions": [], "id": "32148", "issueType": "Story", "key": "PCP-33", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2015-10-21T06:05:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Move reference configuration files into resource/ext/config", "timeSpent": "PT0S", "updated": "2017-01-06T13:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Using boost::thread instead of std::thread, I'm unable to reproduce the problem. So I'd consider this fixed.", "created": "2015-10-09T17:48:00.000000"}], "components": ["pxp-agent"], "created": "2015-09-17T17:02:00.000000", "creator": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@332441a3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz2e1b:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "0.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1903587170_*|*_5_*:*_1_*:*_3446405804_*|*_6_*:*_1_*:*_0"}], "description": "About 1 in 100 runs of unit tests on Windows I get a crash running unit tests that seems to come from\n{code:title=thread_container_test.cc:47-55}\n    SECTION(\"can add and erase a thread that completes immediately\") {\n        // NB: using a lambda in order to have a block that will\n        // trigger the ThreadContainer dtor\n        auto f = []{\n                    ThreadContainer container { \"TESTING_2_1\" };\n                    addTasksTo(container, 1, 0, 0);\n                 };\n        REQUIRE_NOTHROW(f());\n    }\n{code}\n\nIt seems to be a win32 exception thrown from the std::thread destructor, and doesn't always cause the test to fail so all unit tests can still pass.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31597", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31597", "issueType": "Bug", "key": "PCP-2", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2015-10-09T17:48:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Rare exception thrown in pxp-agent unit tests on Windows", "timeSpent": "PT0S", "updated": "2016-07-06T17:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "attachments": [], "comments": [{"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "[~accountid:557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920] [~accountid:63d40635a05386069cdb69d6], proposed paths:\n\nWindows:\n\n||Directory||Path||\n|spool| $COMMON_APPDATA\\PuppetLabs\\pxp-agent\\var\\spool|\n|log files| $COMMON_APPDATA\\PuppetLabs\\pxp-agent\\var\\log|\n|modules| $COMMON_APPDATA\\PuppetLabs\\pxp-agent\\etc\\modules|\n|modules config| $COMMON_APPDATA\\PuppetLabs\\pxp-agent\\etc\\modules.d|\n\nPOSIX:\n\n||Directory||Path||\n|spool| /opt/puppetlabs/pxp-agent/spool|\n|log files| /var/log/puppetlabs/pxp-agent|\n|modules| /etc/puppetlabs/pxp-agent/modules|\n|modules config| /etc/puppetlabs/pxp-agent/modules.d|\n", "created": "2015-09-23T08:41:00.000000"}, {"author": "63d40635a05386069cdb69d6", "body": "[~accountid:557058:ab1874a9-45ab-4efc-91aa-5200c165b2c4] please review.  See https://github.com/puppetlabs/puppet-specifications/blob/master/file_paths.md for the official paths (and submit a PR to get this updated). \n\nI would expect it in /opt/puppetlabs/puppet/cache/spool. I assume there are more files than this, where are the rest?  (Keep in mind that puppet in /opt/puppetlabs/puppet is analogous to the overall agent and not the tool puppet). \n\nLogs should be in /var/log/puppetlabs. \n\nAre we set on the term modules? That's already a term for how things work with Puppet. I'm confused about it, and I have a much better understanding of everything than our customers will. \n\n\n", "created": "2015-09-23T09:18:00.000000"}, {"author": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "body": "[~accountid:557058:923149f8-040e-4296-b279-cbc5b8a6aa98] Are we still good to use the term \"modules\"?", "created": "2015-09-23T09:22:00.000000"}, {"author": "557058:923149f8-040e-4296-b279-cbc5b8a6aa98", "body": "Sure. When we expected customer-facing extensions, the idea was to load them out of extended Puppet modules in the modulepath. I'm comfortable using the term for our private extensions with the expectation that if we make a move towards public extensions to PCP, they must be part of what customers expect from Puppet modules. ", "created": "2015-09-23T09:31:00.000000"}, {"author": "557058:d9266b08-990a-449f-97ff-f9a0910c2a58", "body": "Drop the {{-agent}} for consistency. We don't use that in the file path for any of our other agent tools.", "created": "2015-09-23T09:32:00.000000"}, {"author": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "body": "Agreed this should be captured in a PR against https://github.com/puppetlabs/puppet-specifications/blob/master/file_paths.md.\n\nWhat is spool going to be used for?\n\nAre there going to be N log files for pxp-agent or 1? If N, yes to that directory location. If 1, then we don't need the containing directory.\n\nRe modules: there's no plan for user-written modules, only the one PL-written module (pxp-module-puppet). So I'd suggest that one be installed under /opt/puppetlabs/pxp-agent/modules and that we don't add anything under /etc/puppetlabs for pxp-agent in Ankeny.", "created": "2015-09-23T09:47:00.000000"}, {"author": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "body": "I don't think we should drop agent from the name. PXP is a protocol, not a thing.", "created": "2015-09-23T10:03:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "We'll make a PR against file_paths.md specs.\n\nThe spool will be used to store the results of pxp-module-puppet runs, to enable transaction status queries (async requests).\n\npxp-agent writes to a single file, but we'll soon implement log file rollover. A default log directory will be useful then.\n\nWe'll move the modules dir to be rooted at /opt/... on POSIX. As for Windows, should we use .../var instead of .../etc?", "created": "2015-09-23T10:11:00.000000"}, {"author": "557058:d9266b08-990a-449f-97ff-f9a0910c2a58", "body": "{quote}\nI don't think we should drop agent from the name. PXP is a protocol, not a thing.\n{quote}\n\nFair enough. Sounds like we need a name for the tool then still? Or are we calling it pxp-agent then? ", "created": "2015-09-23T10:26:00.000000"}, {"author": "557058:d9266b08-990a-449f-97ff-f9a0910c2a58", "body": "{quote}\nAs for Windows, should we use .../var instead of .../etc?\n{quote}\n\n\nWe've tried to keep it consistent with POSIX in that \n\n* {{/etc/puppetlabs/thing}} translates to {{$COMMON_APPDATA\\PuppetLabs\\thing\\etc}}\n* {{/var/log/puppetlabs/thing}} translates to {{$COMMON_APPDATA\\PuppetLabs\\thing\\var\\log}}", "created": "2015-09-23T10:32:00.000000"}, {"author": "557058:295d7a84-a09b-4348-8961-a1e1764c190e", "body": "Kylo,\n\nJust checking if you want to fix on putting pxp-agent under \"C:\\Program Files\\Puppet Labs\\Puppet\\bin\" as per your comment on Hip-Chat (Puppet Windows) today.\n\nWhat about associated files like:\nlibcpp-pcp-client.so\nInclude files (under inc directory).\n\nAlso I notice at the moment that the Puppet\\bin directory only contains .bat files at the moment.", "created": "2015-09-23T13:13:00.000000"}, {"author": "557058:d9266b08-990a-449f-97ff-f9a0910c2a58", "body": "{quote}\nJust checking if you want to fix on putting pxp-agent under \"C:\\Program Files\\Puppet Labs\\Puppet\\bin\" as per your comment on Hip-Chat (Puppet Windows) today.\nWhat about associated files like:\nlibcpp-pcp-client.so\nInclude files (under inc directory).\nAlso I notice at the moment that the Puppet\\bin directory only contains .bat files at the moment.\n{quote}\n\nThat brings up a good point. In the Puppet\\bin directory, I would see a batch file that points to where ever pxp-agent files are, in a similar manner to how native Facter is setup. [~accountid:557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920] thoughts?", "created": "2015-09-23T13:21:00.000000"}, {"author": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "body": "I prefer the batch file approach on Windows that we're using elsewhere for the sake of consistency.  Then let pxp-agent live in a separate subdirectory as a sibling to {{facter}} and friends.  Our typical {{environment.bat}} usually sets environment variables necessary for the tools to find one another, and puts thing in the {{PATH}} - see https://github.com/puppetlabs/puppet_for_the_win/blob/master/conf/windows/stage/bin/environment.bat\n\nSee existing Windows file system layout (including the Pupppet/bin dir with batch files) at:\nhttps://github.com/puppetlabs/puppet-specifications/blob/master/file_paths.md#puppet-agent-windows\n", "created": "2015-09-23T15:40:00.000000"}, {"author": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "body": "Wrt the batch file questions: one difference between pxp-agent and puppet/facter/hiera/mco is that there's no intention that the user ever runs it directly during normal operation, i.e. only nssm should be running it. Given that, is there value in having a batch file wrapper?\n\nRelated: where should nssm live?", "created": "2015-09-23T19:57:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "We recently stopped using .bat wrappers for puppet and mcollective services on windows, PUP-1802 and MCO-548, otherwise, the Service Control Manager started the batch file (hosted in cmd.exe), but then a different child process, e.g. ruby.exe, registered with the SCM, causing it to log a warning in the event log. I think we want nssm to launch pxp-agent.exe directly and not use a .bat wrapper.\n\npxp-agent.exe will need to launch puppet, but the location can change depending on where the user installs puppet, and \"Program Files (x86)\" vs \"Program Files\". We could configure the pxp-agent service with a particular PATH environment variable (nssm claims to support this), or pxp-agent could use a relative path from itself, e.g. pxp-agent could call {{GetModuleFileName}} to locate itself, and then append {{../relative/path/to/puppet.bat}}\n\nI would vote for putting the nssm binaries in \"C:\\Program Files\\Puppet Labs\\Puppet\\service\".", "created": "2015-09-23T22:28:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "We made the specs PR: https://github.com/puppetlabs/puppet-specifications/pull/50\n\nWe renamed the pxp-agent options, to be more consistent with the rest.\n\n[~accountid:557058:d9266b08-990a-449f-97ff-f9a0910c2a58], we renamed the Windows log directory to \"logs\" and moved the \"modules\" one to ...\\pxp-agent\\var.", "created": "2015-09-24T07:35:00.000000"}, {"author": "557058:d9266b08-990a-449f-97ff-f9a0910c2a58", "body": "[~accountid:557058:29f801b5-e0f5-4278-a19b-0e5101f2094d] Sorry, I meant for it to be {{log}}, not logs.", "created": "2015-09-24T08:38:00.000000"}, {"author": "557058:d9266b08-990a-449f-97ff-f9a0910c2a58", "body": "[~accountid:557058:29f801b5-e0f5-4278-a19b-0e5101f2094d] / [~accountid:557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920]  The PR shows that it is not quite clear where the actual binaries will drop. Is that supposed to be part of this ticket or a future ticket?\n\nFrom the wording in the description, it seems like it would be part of this ticket.", "created": "2015-09-24T08:39:00.000000"}, {"author": "557058:d9266b08-990a-449f-97ff-f9a0910c2a58", "body": "{quote}\nI would vote for putting the nssm binaries in \"C:\\Program Files\\Puppet Labs\\Puppet\\service\".\n{quote}\n\nAgreed. ", "created": "2015-09-24T08:42:00.000000"}, {"author": "557058:d9266b08-990a-449f-97ff-f9a0910c2a58", "body": "{quote}\nWe recently stopped using .bat wrappers for puppet and mcollective services on windows, PUP-1802 and MCO-548, otherwise, the Service Control Manager started the batch file (hosted in cmd.exe), but then a different child process, e.g. ruby.exe, registered with the SCM, causing it to log a warning in the event log. I think we want nssm to launch pxp-agent.exe directly and not use a .bat wrapper.\n{quote}\n\nThe batch wrappers are for when you call facter, puppet apply, etc. Not for the service. If we don't intend to let folks call pxp-agent directly and interact with it, then there is no need for the .bat file.", "created": "2015-09-24T08:43:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "We can deal with the bin path here, but this ticket was originally meant for the default paths hardcoded in pxp-agent.\nI'll add what Josh proposed to the specs PR.", "created": "2015-09-24T08:53:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "Following what we've discussed in today's PCP Syncup, we'll leave the binary paths discussion for another ticket / PR.", "created": "2015-09-24T10:28:00.000000"}, {"author": "557058:d9266b08-990a-449f-97ff-f9a0910c2a58", "body": "{quote}\nWe can deal with the bin path here, but this ticket was originally meant for the default paths hardcoded in pxp-agent.\nI'll add what Josh proposed to the specs PR.\n{quote}\n\nAh, good stuff. It wasn't clear from the ticket description.", "created": "2015-09-24T13:39:00.000000"}, {"author": "557058:d9266b08-990a-449f-97ff-f9a0910c2a58", "body": "{quote}\nFollowing what we've discussed in today's PCP Syncup, we'll leave the binary paths discussion for another ticket / PR.\n{quote}\n\nCreated followup https://puppet.atlassian.net/browse/CTH-373 for the binary paths.", "created": "2015-09-24T16:43:00.000000"}], "components": ["pxp-agent"], "created": "2015-09-15T11:04:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@692f5bcb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyodif:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "23/Sep/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_600017105_*|*_3_*:*_1_*:*_711065191_*|*_5_*:*_1_*:*_4233209597_*|*_6_*:*_1_*:*_0"}], "description": "I believe this should include modifications to the file paths specification at https://github.com/puppetlabs/puppet-specifications/blob/master/file_paths.md for all relevant platforms, including Windows.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31596", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31596", "issueType": "Task", "key": "PCP-10", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Fixed", "resolutionDate": "2015-11-18T14:09:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Investigate correct paths for pxp-agent defaults", "timeSpent": "PT0S", "updated": "2016-08-17T17:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2015-09-15T03:35:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1af4d94e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Free ?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons", "value": "Yes"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyodi7:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_108692676_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_1290113245"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31987", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31987", "issueType": "Task", "key": "PCP-16", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Fixed", "resolutionDate": "2015-10-01T08:08:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Determine location of modules and action results on windows", "timeSpent": "PT0S", "updated": "2016-07-06T17:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Any reason you didn't use http://www.boost.org/doc/libs/1_58_0/doc/html/interprocess/synchronization_mechanisms.html#interprocess.synchronization_mechanisms.file_lock for file locking? [~accountid:557058:29f801b5-e0f5-4278-a19b-0e5101f2094d]", "created": "2015-10-15T14:43:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Ah, need separate read and write locks.", "created": "2015-10-15T15:17:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "WIP: https://github.com/puppetlabs/pxp-agent/compare/master...MikaelSmith:PCP-17\n\nI'm not happy with the structure, but it handles Ctrl-C and cleans up the PID file.", "created": "2015-10-15T17:38:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Further Windows resources: http://www.codeproject.com/KB/cpp/avoidmultinstance.aspx?fid=695&df=90&mpp=25&noise=3&prof=False&sort=Position&view=Quick&fr=76#xx0xx\nhttp://stackoverflow.com/questions/8799646/preventing-multiple-instances-of-my-application/8799795#8799795", "created": "2015-10-15T18:11:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "The first cut of PIDFile / daemonize(), the one you reviewed in [pxp-agent PR #83|https://github.com/puppetlabs/pxp-agent/pull/83], was based on flock() by which locks are inherited by child processes. That made it super easy to synchronize locks. I went directly for the system call solution because 1) Windows portability was not an issue and 2) I wasn't aware of flock() not being implemented on Solaris.\n\nThe second version, based on fcntl(), just updated that code to different synchronization semantics", "created": "2015-10-16T03:14:00.000000"}, {"author": "557058:a47681f7-b1ba-4803-a48e-fe7a8d10171b", "body": "Looks good to me. PCP-116 covers automation of service stop/start tests", "created": "2015-10-22T08:09:00.000000"}], "components": ["pxp-agent"], "created": "2015-09-14T09:32:00.000000", "creator": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@29504b0a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "QA Contact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker", "value": "623e76baee1b5a00702a7275"}, {"fieldName": "QA Highest Test Level", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Acceptance"}, {"fieldName": "QA Highest Test Level Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Should have an acceptance test"}, {"fieldName": "QA Risk Probability", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Medium"}, {"fieldName": "QA Risk Probability Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Low risk in our code, but interaction with OS and other processes may cause a fail"}, {"fieldName": "QA Risk Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "High"}, {"fieldName": "QA Risk Severity Reason", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "value": "Critical that the agent can be run daemonized without regression"}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz26kn:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1381422636_*|*_10007_*:*_1_*:*_5489843_*|*_3_*:*_2_*:*_100120862_*|*_5_*:*_1_*:*_2357957393_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_497445218_*|*_10004_*:*_1_*:*_1283441848_*|*_10006_*:*_1_*:*_10313590"}], "description": "https://github.com/puppetlabs/cpp-project-template/compare/master...MikaelSmith:win-demo shows a prototype of doing this on Windows.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32147", "fixedVersions": ["pxp-agent 1.0.0"], "id": "32147", "issueType": "Sub-task", "key": "PCP-17", "labels": [], "originalEstimate": "PT0S", "parent": "32319", "parentSummary": "Add pxp-agent service on windows", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "resolution": "Fixed", "resolutionDate": "2015-10-22T08:09:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add interrupt/shutdown handler for pxp-agent", "timeSpent": "PT0S", "updated": "2015-11-18T14:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["clj-pcp-client"], "created": "2015-09-08T10:17:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@98271f1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz27xr:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1967911009_*|*_10007_*:*_1_*:*_11416853_*|*_3_*:*_1_*:*_436551904_*|*_5_*:*_1_*:*_0"}], "description": "https://github.com/puppetlabs/clj-cthun-client/pull/11 only implementing heartbeating and a way to inspect state. We need to keep the connection alive as best we can.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31953", "fixedVersions": [], "id": "31953", "issueType": "Improvement", "key": "PCP-24", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Fixed", "resolutionDate": "2015-10-06T09:22:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "clj-pcp-client should implement reconnection logic", "timeSpent": "PT0S", "updated": "2016-08-03T17:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2015-08-25T07:11:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@474e248"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz1ud3:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3551907568_*|*_5_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31831", "fixedVersions": [], "id": "31831", "issueType": "Sub-task", "key": "PCP-22", "labels": [], "originalEstimate": "PT0S", "parent": "32255", "parentSummary": "Open the source repos", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Done", "resolutionDate": "2015-10-05T09:49:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Open cpp-pcp-client repo (formaly cthun-client)", "timeSpent": "PT0S", "updated": "2016-05-11T17:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2015-08-25T07:10:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2cbed360"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz1ucv:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3551923218_*|*_5_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31765", "fixedVersions": [], "id": "31765", "issueType": "Sub-task", "key": "PCP-21", "labels": [], "originalEstimate": "PT0S", "parent": "32255", "parentSummary": "Open the source repos", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Done", "resolutionDate": "2015-10-05T09:49:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Open specs repo", "timeSpent": "PT0S", "updated": "2016-05-11T17:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2015-08-25T07:10:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6fd8926f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz1ucn:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3551927461_*|*_5_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31631", "fixedVersions": [], "id": "31631", "issueType": "Sub-task", "key": "PCP-20", "labels": [], "originalEstimate": "PT0S", "parent": "32255", "parentSummary": "Open the source repos", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Done", "resolutionDate": "2015-10-05T09:49:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Open clj-pcp-client repo (formaly clj-cthun-client)", "timeSpent": "PT0S", "updated": "2016-05-11T17:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2015-08-25T07:08:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3c9cde9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz1ucf:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3551996402_*|*_5_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31595", "fixedVersions": [], "id": "31595", "issueType": "Sub-task", "key": "PCP-19", "labels": [], "originalEstimate": "PT0S", "parent": "32255", "parentSummary": "Open the source repos", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Done", "resolutionDate": "2015-10-05T09:48:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Open pxp-agent repo (formally cthun-agent)", "timeSpent": "PT0S", "updated": "2016-05-11T17:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2015-08-25T07:08:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1665338b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz1uc7:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3552001817_*|*_5_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32321", "fixedVersions": [], "id": "32321", "issueType": "Sub-task", "key": "PCP-18", "labels": [], "originalEstimate": "PT0S", "parent": "32255", "parentSummary": "Open the source repos", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Done", "resolutionDate": "2015-10-05T09:48:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Open pcp-broker repo (formally cthun)", "timeSpent": "PT0S", "updated": "2016-05-11T17:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "attachments": [], "comments": [], "components": ["clj-pcp-client", "clj-pcp-common", "cpp-pcp-client", "pcp-broker", "pxp-agent"], "created": "2015-08-25T07:08:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@549c266d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz27wv:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3144891090_*|*_3_*:*_1_*:*_407211459_*|*_5_*:*_1_*:*_39673386801_*|*_6_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32255", "fixedVersions": [], "id": "32255", "issueType": "Task", "key": "PCP-11", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Done", "resolutionDate": "2015-10-05T09:49:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Open the source repos", "timeSpent": "PT0S", "updated": "2017-01-06T13:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "attachments": [], "comments": [], "components": [], "created": "2015-08-21T04:38:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@32323ed"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz1sif:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_4075205279_*|*_3_*:*_1_*:*_68011248_*|*_5_*:*_1_*:*_3145496034_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_438741832"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32320", "fixedVersions": ["cpp-pcp-client 1.0.1"], "id": "32320", "issueType": "Sub-task", "key": "PCP-42", "labels": [], "originalEstimate": "PT0S", "parent": "31762", "parentSummary": "Version negotiation", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Fixed", "resolutionDate": "2015-10-13T05:24:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Create version negotiation error message", "timeSpent": "PT0S", "updated": "2016-08-03T18:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "body": "Defined in https://github.com/puppetlabs/pcp-specifications/blob/master/pcp/versioning.md. We do not need to add anything for this release so closing.", "created": "2015-10-12T10:35:00.000000"}], "components": [], "created": "2015-08-21T04:37:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@520295c1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz1si7:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_4075240939_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_439067178"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32254", "fixedVersions": [], "id": "32254", "issueType": "Sub-task", "key": "PCP-41", "labels": [], "originalEstimate": "PT0S", "parent": "31762", "parentSummary": "Version negotiation", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Fixed", "resolutionDate": "2015-10-12T10:36:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add client->server version negotiation", "timeSpent": "PT0S", "updated": "2016-08-03T18:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2015-08-21T04:37:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1dbddb4f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz1shz:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3455431873_*|*_10007_*:*_1_*:*_955876137_*|*_3_*:*_1_*:*_102701510_*|*_5_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32146", "fixedVersions": [], "id": "32146", "issueType": "Sub-task", "key": "PCP-40", "labels": [], "originalEstimate": "PT0S", "parent": "31762", "parentSummary": "Version negotiation", "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Fixed", "resolutionDate": "2015-10-12T10:30:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add version negotiation to the specs", "timeSpent": "PT0S", "updated": "2016-05-25T17:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "attachments": [], "comments": [{"author": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "body": "[~accountid:557058:29f801b5-e0f5-4278-a19b-0e5101f2094d] With the completion of PCP-31, is this still relevant?", "created": "2015-10-07T08:20:00.000000"}, {"author": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "body": "[~accountid:557058:faa23e4b-e27a-4400-a735-de76ac155413] I don't think it is anymore.", "created": "2015-10-07T08:25:00.000000"}, {"author": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "body": "After discussion it seems reasonable to make the max timeout interval configurable. However this isn't needed for the next release so I am closing this and creating a new ticket to scope this work for the future.", "created": "2015-10-07T08:32:00.000000"}], "components": ["cpp-pcp-client"], "created": "2015-08-20T07:22:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@548a027f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz27xb:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "07/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_4150412670_*|*_3_*:*_1_*:*_1001988_*|*_5_*:*_1_*:*_3652593636_*|*_6_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31952", "fixedVersions": ["cpp-pcp-client 1.0.1"], "id": "31952", "issueType": "Improvement", "key": "PCP-25", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Fixed", "resolutionDate": "2015-11-18T14:09:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Make cpp-pcp-client websocket heartbeat interval configurable", "timeSpent": "PT0S", "updated": "2016-08-03T17:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["cpp-pcp-client", "pxp-agent"], "created": "2015-08-20T07:21:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1bb8d4c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz27x3:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_4065003188_*|*_10007_*:*_1_*:*_321535_*|*_3_*:*_2_*:*_75116746_*|*_5_*:*_1_*:*_3663607947_*|*_6_*:*_1_*:*_0"}], "description": "When a pcp-broker goes down we get a spectacular thundering herd of agents trying to reconnect. Randomise the incremental back off to get around this.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31830", "fixedVersions": ["cpp-pcp-client 1.0.1"], "id": "31830", "issueType": "Improvement", "key": "PCP-31", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Fixed", "resolutionDate": "2015-11-18T14:09:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Randomise reconnect in pxp-agent", "timeSpent": "PT0S", "updated": "2016-08-17T17:19:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "What does it mean that this story is in the current sprint?", "created": "2015-09-14T11:49:00.000000"}, {"author": "557058:f1e252bd-73da-4e0e-90f7-f0aefb98d28c", "body": "All supporting tickets resolved, so marking this as resolved.", "created": "2015-10-22T14:20:00.000000"}], "components": ["pxp-agent"], "created": "2015-08-14T10:39:00.000000", "creator": "557058:923149f8-040e-4296-b279-cbc5b8a6aa98", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5e9791da"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyoc93:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "0.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Sep/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_5974862960_*|*_5_*:*_1_*:*_2335715009_*|*_6_*:*_1_*:*_0"}], "description": "just an organizational link for product management regarding running the cthun agent on windows", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32253", "fixedVersions": ["pxp-agent 1.0.0"], "id": "32253", "issueType": "Story", "key": "PCP-36", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:923149f8-040e-4296-b279-cbc5b8a6aa98", "resolution": "Fixed", "resolutionDate": "2015-10-22T14:20:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "windows support for pxp-agent", "timeSpent": "PT0S", "updated": "2016-05-11T17:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "body": "[~accountid:557058:0b16fa29-44bc-4e11-82b0-a346967ad808] this is the ticket under which we were planning to write the puppet code for managing both pxp-agent and pcp-broker-service. We are very fuzzy about best practices, test requirements, etc, so any assistance here will be greatly appreciated. \n\nAlso: where should this code go? I think the idea is that it lands in https://github.com/puppetlabs/puppetlabs-puppet_enterprise and not a new module (or modules) but please advise on that as well.\n\nLast, I have no idea on story points, or if we should break this out into subtasks, etc. For now I'm going to rough swag it as a 5. If anyone gets better information in either direction, please correct me!", "created": "2015-08-20T23:43:00.000000"}, {"author": "557058:0b16fa29-44bc-4e11-82b0-a346967ad808", "body": "[~accountid:557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920] Excellent, thanks for the ping! So, as far as best practices go for https://github.com/puppetlabs/puppetlabs-puppet_enterprise : \n* We have a roles and profiles relationship setup, with the roles in the manifests/ dir, profiles in manifests/profiles/ \n* Generally, if you have a setting that you can imagine an advanced user wanting to poking around with via Hiera, you can add a parameter to the role. If it's a more widely accessible setting, add it to the profile. We're trying to keep the amount of extra params on the profile to a minimum.\n* For style, generally we follow https://docs.puppetlabs.com/guides/style_guide.html .\n* Add tests to spec/classes/ . Generally, I'd recommend testing resources that are applied conditionally/have some logic to them first. spec/classes/master_spec.rb is probably a good spec to copy.\n\nIf you want to add your code to the existing module, that's great and probably the fastest route to getting your new code into PE. If you find that you want to make a separate module and call it from the PE module, that's great too. I'd recommend basing any new module off https://github.com/garethr/puppet-module-skeleton -- it has a good starting layout and tests. The only tweak I'd make is bumping the puppet version to 4 because we're in the process of doing so on puppet_enterprise right now ( https://github.com/puppetlabs/puppetlabs-puppet_enterprise/pull/555 ) Once that change is in, we can start actually using the new parser features without breaking tests. Right now we have a bunch of pe_verify_* functions, and that gross behavior should not be replicated further. I'd recommend adding types to params instead https://docs.puppetlabs.com/puppet/latest/reference/lang_data_type.html . \n\nHopefully this is helpful, if you have any further questions please ping me or ask on HC in the Integration channel. :)", "created": "2015-08-21T10:06:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "That doesn't really answer the question of 'should this go in puppet_enterprise or it's own module'  it entertains the possibility of doing both.\n\nTo cut the knot, I'm going to target {{puppet_enterprise}} 2015.3.x with the expectation that we can retarget it if the PR is rejected.", "created": "2015-09-09T08:53:00.000000"}, {"author": "557058:0b16fa29-44bc-4e11-82b0-a346967ad808", "body": "Works for me. Most teams are adding their changes directly to `puppet_enterprise` because it is definitely the fastest path right now. Really, I'm all about whatever makes it easiest for you to get your code into the product.", "created": "2015-09-09T11:28:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "This is blocked on having pe-console-services and some flavour of working pxp-agent packages, as though I can sketch out module structure without them, I'm a little chicken and egg on laying down configs in the right places for packages that doesn't exist yet.", "created": "2015-09-10T07:25:00.000000"}, {"author": "557058:0b16fa29-44bc-4e11-82b0-a346967ad808", "body": "[~accountid:557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e] What are the specific blockers on that work? Do you know any ticket numbers I can follow up with? I'm happy to help coordinate that.", "created": "2015-09-10T12:03:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "https://github.com/puppetlabs/puppetlabs-puppet_enterprise/pull/602 is up for review.  I imagine there'll be a little rework to come.", "created": "2015-09-29T09:43:00.000000"}], "components": [], "created": "2015-08-14T06:01:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2954ad38"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyodgv:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "5.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Aug/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2256777874_*|*_10007_*:*_1_*:*_152797488_*|*_3_*:*_2_*:*_1396329765_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_334564820"}], "description": "I believe ", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32145", "fixedVersions": [], "id": "32145", "issueType": "Task", "key": "PCP-7", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Fixed", "resolutionDate": "2015-10-01T04:09:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Write agent and broker puppet modules", "timeSpent": "PT0S", "updated": "2016-07-06T17:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pcp-broker"], "created": "2015-08-14T05:51:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@29f82b8a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyodhr:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "5.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_4675574898_*|*_5_*:*_1_*:*_38998099408_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_506776494"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31762", "fixedVersions": [], "id": "31762", "issueType": "Story", "key": "PCP-34", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Fixed", "resolutionDate": "2015-10-13T05:24:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Version negotiation", "timeSpent": "PT0S", "updated": "2017-01-06T13:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "body": "Is there any more to do for this story?", "created": "2015-10-21T00:14:00.000000"}, {"author": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "body": "I think we're done from our side. Resolving this.", "created": "2015-10-21T03:33:00.000000"}], "components": [], "created": "2015-08-14T05:51:00.000000", "creator": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@64efb986"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyoc4f:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "0.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Oct/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_5866914816_*|*_5_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31629", "fixedVersions": [], "id": "31629", "issueType": "Story", "key": "PCP-32", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "resolution": "Fixed", "resolutionDate": "2015-10-21T03:33:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Application Management API", "timeSpent": "PT0S", "updated": "2015-10-21T03:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "body": "Ping [~accountid:557058:faa23e4b-e27a-4400-a735-de76ac155413], [~accountid:557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e], [~accountid:557058:29f801b5-e0f5-4278-a19b-0e5101f2094d]: this is the (placeholder) ticket discussed in grooming today.\n\nPing [~accountid:557058:b6301e26-c165-42d0-ab3a-59124339555e], [~accountid:557058:f79f8af3-d468-4e76-b115-311ddf4eb9a4], [~accountid:63d40635a05386069cdb69d6]: we'd love to get your guidance here. If the description here is too terse, let's take it up via email.", "created": "2015-08-03T13:48:00.000000"}, {"author": "63d40635a05386069cdb69d6", "body": "Systemd certainly doesn't need you to daemonize. \n\nThe older master platforms (EL6, Ubuntu 12.04, 14.04, SLES 11) will need to be daemonized in some way. That can be done with init scripts. I'm not sure that's the best way though. Thoughts [~accountid:557058:f79f8af3-d468-4e76-b115-311ddf4eb9a4], [~accountid:557058:ab1874a9-45ab-4efc-91aa-5200c165b2c4] ?", "created": "2015-08-03T13:53:00.000000"}, {"author": "557058:f79f8af3-d468-4e76-b115-311ddf4eb9a4", "body": "Concerns about trying to fake daemonization on non-systemd platforms:\n- No syslog (probably) -- logging just dumps to stdout, on whatever terminal the process is attached to (if it's attached to any). We'd have to write redirection into each init script and hope for the best.\n- Manually manage lock files and run files in the init script (with no help from cthun-agent?).\n- Dropping or raising privileges becomes hairy and weird and edge-case-prone (... oh man, does this *have* to run as {{root}}?).\n\nIf I was still an admin, I'd set up a process supervisor ({{supervisord}}, probably) to run the tool for me but that's not going to work so well here.\n", "created": "2015-08-03T14:37:00.000000"}, {"author": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "body": "Note: this is not master platforms only. (I updated the description to call this out.)", "created": "2015-08-03T15:20:00.000000"}, {"author": "63d40635a05386069cdb69d6", "body": "Basically the init system is smart enough to not need daemonization on:\nEL7, Fedora*, SLES12, AIX, Solaris, Mac, Debian Jessie\n\nWe'll need daemonization (from cthun) on:\nEL4, SLES10, SLES11, EL5, EL 6, Debian < jessie, \n\nWe'll need to evaluate using upstart for:\nUbuntu* \n\nWe'll need to look into how things work on:\nHauwei\nCisco\nArista (SysV)\nCumulus (SysV)", "created": "2015-08-03T15:24:00.000000"}, {"author": "63d40635a05386069cdb69d6", "body": "Supervisord (while a great admin tool) probably shouldn't be shipped with our stuff, it's a python stack and I don't want to ship python as well as ruby, just so I can ship a daemon in C. ", "created": "2015-08-03T15:25:00.000000"}, {"author": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "body": "So my takeaway is that we need to add daemonization as an option, i.e. it works daemonized, as a non-daemonized service, and standalone not daemonized (e.g. for debug).\n\nRequirements to sort out:\n* logging (stdout if a tty else syslog?)\n* lock files\n* what signals to support for what use cases?\n* run as anything but root? In Ankeny, all this is used for is controlling puppet, but I'm fuzzy on what we claim re puppet-agent as non-root.\n* ...", "created": "2015-08-03T15:55:00.000000"}, {"author": "63d40635a05386069cdb69d6", "body": "I *thought* people who ran not as root usually we doing apply, but I could be wrong. [~accountid:70121:daea3119-cdf4-43ae-bb73-2d9ef9d71335] thoughts?", "created": "2015-08-03T16:06:00.000000"}, {"author": "63d40635a05386069cdb69d6", "body": "I would log to stdout if running in foreground, log to syslog or its own log if daemonized. (Or daemonization option include the option to log to the file/syslog by default).", "created": "2015-08-03T16:07:00.000000"}, {"author": "557058:f79f8af3-d468-4e76-b115-311ddf4eb9a4", "body": "[Here's a pretty good overview/how-to \"Daemonize: how do?\"-kind of article by Doug Potter|http://www.itp.uzh.ch/~dpotter/howto/daemonize]. Cribbing from it literally, I'd expect:\n\nStand-alone mode:\n  foreground operation\n  standard output goes to stdout\n  error stream output goes to stderr\n\nDaemonized:\n  permission dropping (if configured?)\n  standard output emits to syslog or an internally managed log file (preference is \"pick one, stick to it\")\n  error stream output emits syslog as error, or internally managed error log file (see \"standard output\")\n  manages/respects pid file (probably optional, but sane)\n  supports HUP for reloading/restarting, TERM for stopping\n", "created": "2015-08-03T16:38:00.000000"}, {"author": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "body": "Running puppet-agent as non-root only allows a limited subset of functionality - see [\"Running PE Agents without Root Privileges\"|https://docs.puppetlabs.com/pe/latest/deploy_nonroot-agent.html#usage] for our claims there.", "created": "2015-09-22T02:23:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "Sure, but I'd say for the use-cases of Run Puppet and Orchestrator, we really expect the clj-pxp-puppet to be starting runs as root to manage a server, so either we shouldn't drop down to a less-privileged user, or if we do we'll need a way to re-escalate.   Pinging [~accountid:63d4062f69c7ae3958d276ed] and [~accountid:557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8] as representatives for those use cases.", "created": "2015-09-22T04:15:00.000000"}, {"author": "557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8", "body": "[~accountid:557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e] I believe the expectation is that we would have root privs  [~accountid:557058:db3c8c5c-5825-4424-a788-64c2fa922e24] can you confirm?", "created": "2015-09-22T08:36:00.000000"}, {"author": "557058:db3c8c5c-5825-4424-a788-64c2fa922e24", "body": "If I understand correctly, the question is should puppet runs run as a user other than root. Isn't that what unattended runs and also Live Management/MCO-driven runs do today? If so, we should do the same because it seems weird to have potentially different behavior.\n\nUltimately, we need to account for running as a not-root user but that's a case closer to the edge. AFAICT in a root + non-root use case on a single node, you'd have separate clientcerts for each so we'd need to be able to distinguish one from the other. \n\n", "created": "2015-09-22T10:47:00.000000"}, {"author": "557058:923149f8-040e-4296-b279-cbc5b8a6aa98", "body": "[~accountid:557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e], on the subject of what orchestrator needs to accomplish for the user: we need to be able to trigger puppet agent runs with particular flags (like --environment, --no-usecacheonfailure, etc). The dominant use will be triggering a puppet-agent running as root but we also need to control puppet-agent's running as an unprivileged user. \n\nPreviously, we discussed using the certname assigned to application components to inform how we make the request to PCP but PCP would need to be capable of running that agent as the user associated with that certname. ", "created": "2015-09-22T11:12:00.000000"}], "components": ["pxp-agent"], "created": "2015-08-03T13:47:00.000000", "creator": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1fd22446"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyodgn:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Aug/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_3_*:*_3235986057_*|*_10007_*:*_1_*:*_1321194251_*|*_3_*:*_3_*:*_531271156_*|*_5_*:*_1_*:*_4161232938_*|*_6_*:*_1_*:*_0"}], "description": "Cthun-agent will need to be a service on posix systems. Currently it doesn't daemonize, assuming that the hosting OS platform can do the right thing (systemd, init script wrappers, etc). But we'd like to get some feedback from Rel Eng folks on how to proceed here.\n\nNote that this is needed for all platforms puppet-agent runs on, e.g. not just masters.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31594", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31594", "issueType": "Task", "key": "PCP-13", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "resolution": "Fixed", "resolutionDate": "2015-11-18T14:09:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add pxp-agent service on posix", "timeSpent": "PT0S", "updated": "2016-05-11T17:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "557058:295d7a84-a09b-4348-8961-a1e1764c190e", "created": "2015-09-15T04:39:00.000000", "name": "priority_normal.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/12301"}], "comments": [{"author": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "body": "Ping [~accountid:557058:faa23e4b-e27a-4400-a735-de76ac155413], [~accountid:557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e], [~accountid:557058:29f801b5-e0f5-4278-a19b-0e5101f2094d]: this is the (placeholder) ticket discussed in grooming today.", "created": "2015-08-03T13:46:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "[~accountid:557058:263afade-3e4f-46c6-b50a-cf2982192562] recommended looking at http://www.nssm.cc/ as a candidate for the service.", "created": "2015-08-13T12:59:00.000000"}, {"author": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "body": "The Puppet service wrapper is in Ruby, and it has some issues that you probably don't want to replicate.  For instance, it launches a child process on a timer, but has no ability to communicate with that child process after it's launched.  The Windows service can be terminated even though the real process doing the work is still running, which can cause contention issues.  We eventually want to move away from that altogether, but Ruby makes it difficult to \"do the right thing\" because Ruby + threading + Puppet's design isn't conducive to that, etc.\n\nMy suggestion, since Cthun is native code, is to leverage a C++ library that already integrates with the Windows SCM (service control manager).  That should allow you to quickly scaffold a Windows service, which is usually mostly boilerplate, without a ton of additional effort.\n\nI did a quick check to see if Boost has such a library already, and there is one called Boost.Application at https://github.com/retf/Boost.Application that looks like it could be useful to investigate.  There is a corresponding article on CodeProject http://www.codeproject.com/Articles/756866/Build-a-Server-Application-using-Application-Libra (though it looks like it could be out of date).\n\nThe big issue with adopting such a solution is whether or not the code would require any rework to be hosted in a service?  On Windows, it's common to build a library for doing heavy-lifting, then to put lightweight wrappers around the library - for instance a command line executable, or a service runner.  Windows services work best when you can create a new thread to do the work of the library, so that the main service controller thread is responsive to the SCMs commands.  That main thread then signals other threads when it's time to stop working.  Windows doesn't have signals that you can send to processes for graceful termination like in POSIX.\n\nAlso worth mentioning is that [~accountid:557058:d9266b08-990a-449f-97ff-f9a0910c2a58] mentioned the potential for problems with multiple nssm-based services (though I haven't followed up on those details).  If we're headed down that path with puppet-agent, we might want to be careful.", "created": "2015-09-01T18:06:00.000000"}, {"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "Note that Boost.Application isn't officially part of Boost, so we haven't gone through the hard work of ensuring it builds everywhere, but we could try using it anyway.", "created": "2015-09-01T18:13:00.000000"}, {"author": "557058:d9266b08-990a-449f-97ff-f9a0910c2a58", "body": "I need to go back and research what I had heard / saw with NSSM. I'd consider it anecdotal at the moment.", "created": "2015-09-01T18:45:00.000000"}, {"author": "557058:d9266b08-990a-449f-97ff-f9a0910c2a58", "body": "There is also the possibility of NirvanaService, but it looks young - https://github.com/mastoj/NirvanaService\n\nIt brings the simplicity of TopShelf to any executable.", "created": "2015-09-09T14:49:00.000000"}, {"author": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "body": "Outcome of meeting with [~accountid:557058:263afade-3e4f-46c6-b50a-cf2982192562], [~accountid:557058:d9266b08-990a-449f-97ff-f9a0910c2a58], [~accountid:557058:b64e0a8c-6f57-44f9-adf1-b0b9767a03da], [~accountid:557058:295d7a84-a09b-4348-8961-a1e1764c190e], [~accountid:557058:faa23e4b-e27a-4400-a735-de76ac155413], [~accountid:557058:29f801b5-e0f5-4278-a19b-0e5101f2094d], [~accountid:557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e], [~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e]. Apologies if I forgot anyone, and I'm doing this from memory a few days later so \n\n* Rob to test out nssm with a toy app provided by Michael\n* John O. to file an RE ticket for requesting nssm as a supported library (e.g. is licensing okay, etc) per https://confluence.puppetlabs.com/display/RE/New+Third-Party+Library+Request+Process\n* John O. to file an RE ticket for actually adding nssm to puppet-for-the-win. Ethan/Rob will help out with implementation/consultation since they probably know the steps.\n* PCP team to implement an interrupt/shutdown handler for pxp-agent (sub task of this ticket). \n\n\nI'm leaving this ticket as the umbrella ticket. [~accountid:557058:295d7a84-a09b-4348-8961-a1e1764c190e], can you make this ticket block on the two RE tickets mentioned above. And [~accountid:557058:d9266b08-990a-449f-97ff-f9a0910c2a58], can you make this ticket block on the investigate-nssm ticket (or just report back here if it wasn't done under a ticket).\n\nThanks all!", "created": "2015-09-14T09:32:00.000000"}, {"author": "557058:d9266b08-990a-449f-97ff-f9a0910c2a58", "body": "Should have created a ticket then. :)\n\nhttps://docs.google.com/document/d/1EPgPsAtI3MfKugeD8wSTeSRBsrl-gVzham3Vb2WvuV4/edit pending discussion and moving to Confluence.", "created": "2015-09-14T09:42:00.000000"}, {"author": "557058:295d7a84-a09b-4348-8961-a1e1764c190e", "body": "Kylo,\n\nHave created the two tickets and attempted answers for the NSSM New Library request - can you check these to see if they are ok.\n\n RE-5582 <https://puppet.atlassian.net/browse/RE-5582> Add nssm to Puppet for the Win Build\t OPEN\n <>\n RE-5581 <https://puppet.atlassian.net/browse/RE-5581> New Third-Party Library Request - NSSM\t OPEN\n\nJohn\n\nJohn O'Connor\nRelease Engineer\nPuppet Labs, Belfast\n\nPuppetConf\u00a02015 <http://2015.puppetconf.com/> is coming to Portland, Oregon! Join us October 5-9.\nRegister now to take advantage of the Final Countdown discount <https://www.eventbrite.com/e/puppetconf-2015-october-5-9-register-now-its-the-final-countdown-tickets-13115894995?discount=FinalCountdown> \u2014save $149!\n\n\n", "created": "2015-09-15T04:39:00.000000"}, {"author": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "body": "Looks good. Thanks [~accountid:557058:295d7a84-a09b-4348-8961-a1e1764c190e]!", "created": "2015-09-15T16:38:00.000000"}, {"author": "557058:d9266b08-990a-449f-97ff-f9a0910c2a58", "body": "Added a blocking ticket - CTH-361", "created": "2015-09-16T09:57:00.000000"}, {"author": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "body": "Given the work on the RE-5582 epic has completed, this can be considered completed as well.", "created": "2015-10-22T14:14:00.000000"}], "components": ["pxp-agent"], "created": "2015-08-03T13:44:00.000000", "creator": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@68430431"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyoc9j:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Aug/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_6913819553_*|*_5_*:*_1_*:*_2336023949_*|*_6_*:*_1_*:*_0"}], "description": "pxp-agent will need to be a service on windows. Current team thinking is that we would, roughly, \"do what puppet does\". However, it would be great to get some advice from Windows SMEs on how to tackle this.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32319", "fixedVersions": ["pxp-agent 1.0.0"], "id": "32319", "issueType": "Task", "key": "PCP-8", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "resolution": "Fixed", "resolutionDate": "2015-10-22T14:15:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Add pxp-agent service on windows", "timeSpent": "PT0S", "updated": "2017-06-28T14:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "63d40635a05386069cdb69d6", "body": "Obviously we can't register a port with IANA until we have a real name for this. Adding a blocking link.", "created": "2015-07-29T20:51:00.000000"}, {"author": "63d40635a05386069cdb69d6", "body": "Ping [~accountid:63d4062f69c7ae3958d276ed], [~accountid:557058:94d3052b-8fff-43b1-91b3-4cdcbc8fcd91]. ", "created": "2015-08-17T16:20:00.000000"}, {"author": "557058:94d3052b-8fff-43b1-91b3-4cdcbc8fcd91", "body": "I have no strong opinion on the port number - any non-privileged port seems fine to me", "created": "2015-08-17T22:14:00.000000"}, {"author": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "body": "Should we proceed with a request for a TCP port for the \"Puppet Communications Protocol\"? \n\nIANA lists ports 8141-8147 as currently unassigned.", "created": "2015-08-19T23:56:00.000000"}, {"author": "63d40635a05386069cdb69d6", "body": "Sure. I think [~accountid:557058:94d3052b-8fff-43b1-91b3-4cdcbc8fcd91] or somebody from that team should register the port. They ask about protocol specifics that I don't think we quite understand. ", "created": "2015-08-20T10:53:00.000000"}, {"author": "557058:94d3052b-8fff-43b1-91b3-4cdcbc8fcd91", "body": "To pass the buck, it would probably be better for [~accountid:557058:faa23e4b-e27a-4400-a735-de76ac155413], [~accountid:557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e], [~accountid:557058:29f801b5-e0f5-4278-a19b-0e5101f2094d] or [~accountid:557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920] to do that, as they are the ones intimately familiar with the protocol.", "created": "2015-08-20T11:26:00.000000"}, {"author": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "body": "In discussion in the cthun room in hipchat, a proposal for new ports was:\n\n8141 - puppet master alternate, 8142 - pcp-broker-service, 8143 - orchestrator service\n\n(The 8141 and 8143 ports aren't strictly related to pcp-broker-service of course, but we were brainstorming several new port needs that we were aware of.)\n\nThoughts from London?", "created": "2015-08-20T23:29:00.000000"}, {"author": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "body": "Also, I did the jira needful: setting scrum team, picking story points, and pulling into the current sprint, since we waded into the discussion. Definitely better to get this sorted early.", "created": "2015-08-20T23:31:00.000000"}, {"author": "557058:faa23e4b-e27a-4400-a735-de76ac155413", "body": "[~accountid:557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920] Those numbers look fine.", "created": "2015-08-21T04:13:00.000000"}, {"author": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "body": "[~accountid:557058:3bbf1c83-df0e-4372-887d-cfc38dee9330] I'm assigning to you because it sounded like you were going to do the IANA needful. But I want to double check: are you the right point of contact?", "created": "2015-08-21T18:39:00.000000"}, {"author": "63d40635a05386069cdb69d6", "body": "The questions they ask are rather specific to the protocol and I think somebody who is working on the core tool would be better suited than anybody in RE.", "created": "2015-08-21T20:11:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "Do you have a list of the questions that are being asked?  Are they available online so we can see what we need to answer up front?\n\nWe'll need to document them with the answers for bus number anyhow.", "created": "2015-08-24T04:52:00.000000"}, {"author": "63d40635a05386069cdb69d6", "body": "In the documentation there is a link to https://www.iana.org/form/ports-services which has all the questions.", "created": "2015-08-24T08:25:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "Based on a review of the questions I think it would help to finalise the protocol versioning (CTH-296) and the rename (CTH-320) and opening of the specs repo (CTH-321) before making the registration, so blocking on those issues.", "created": "2015-08-25T07:09:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "Ready for merge here indicates I've submitted answers to https://www.iana.org/form/ports-services and am now awaiting a response from IANA", "created": "2015-11-10T10:28:00.000000"}, {"author": "63d40635a05386069cdb69d6", "body": "If you reply and ask if Apache httpd and Apache Tomcat have to use the same port since they're both HTTP. They don't. That's insane. Obviously they're not understanding something. ", "created": "2015-11-18T08:49:00.000000"}, {"author": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "body": "Well yes, we've failed to differentiate the protocols and use-cases that we have clearly enough in the the answers I provided (attached to this ticket as comment 230519).  If someone who has a better feel for how to get that across wants to go over them then we can resubmit, but I think just calling out their decision as insane would be a poor first step.", "created": "2015-11-18T08:57:00.000000"}, {"author": "63d40635a05386069cdb69d6", "body": "Correct, I recommend not using my wording :)\n\nIn any case, I'm fine with closing this. It seems that IANA doesn't want people to actually register ports and applications very easily. ", "created": "2015-11-18T11:39:00.000000"}, {"author": "557058:c9e9d862-990b-48eb-b4e3-2e4daf1e6920", "body": "Heads up to [~accountid:63d40635a05386069cdb69d6] and [~accountid:557058:94d3052b-8fff-43b1-91b3-4cdcbc8fcd91] that we're planning to abandon this effort. We should probably be consistent in this regard though, so if we are *not* abandoning the equivalent effort for the Orchestration service use of 8143, then please ping on this ticket (and then we should coordinate the communications efforts with IANA).", "created": "2015-11-19T10:57:00.000000"}, {"author": "557058:94d3052b-8fff-43b1-91b3-4cdcbc8fcd91", "body": "We did the same thing for the orchestrator", "created": "2015-11-19T11:06:00.000000"}, {"author": "63d40635a05386069cdb69d6", "body": "Yup, just shut it down. We'll revisit if we need to in the future. ", "created": "2015-11-19T13:33:00.000000"}], "components": [], "created": "2015-07-29T20:49:00.000000", "creator": "63d40635a05386069cdb69d6", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@35edbd06"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyo90n:"}, {"fieldName": "Scope Change Category", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Found"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "18/Aug/15"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1824997515_*|*_10007_*:*_1_*:*_81604453_*|*_3_*:*_1_*:*_1044663190_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_2_*:*_5111504796_*|*_10006_*:*_1_*:*_1208170790_*|*_10005_*:*_1_*:*_458681897"}], "description": "We need to have a default port for the pcp-broker and something that isn't 8080 or 8090.   Currently we're using 8142 and will seek IANA registration once unblocked.\n\nPlease see https://confluence.puppetlabs.com/display/ENG/Choosing+a+port+for+services for some more information. ", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "32288", "fixedVersions": [], "id": "32288", "issueType": "Task", "key": "PCP-3", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "63d40635a05386069cdb69d6", "resolution": "Won't Fix", "resolutionDate": "2015-11-19T10:30:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Select/register a port for pcp-broker service", "timeSpent": "PT0S", "updated": "2015-11-19T13:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pxp-agent"], "created": "2015-07-03T07:49:00.000000", "creator": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2d64dc63"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hyodhz:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_6487007161_*|*_5_*:*_1_*:*_4108115137_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_1354435109"}], "description": "The default directory for storing results of non-blocking requests is currently /tmp/cthun-agent. We should use one consistent with the file paths used by AIO.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31627", "fixedVersions": ["pxp-agent 1.0.0"], "id": "31627", "issueType": "Improvement", "key": "PCP-27", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:29f801b5-e0f5-4278-a19b-0e5101f2094d", "resolution": "Fixed", "resolutionDate": "2015-11-18T14:09:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Set the default spool directory for non-blocking results", "timeSpent": "PT0S", "updated": "2016-08-17T17:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["pcp-broker"], "created": "2015-01-21T07:31:00.000000", "creator": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2ea71de"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "QA Status", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Reviewed"}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hz27xj:"}, {"fieldName": "Scrum Team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Client Platform"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.0"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_21846906034_*|*_10007_*:*_1_*:*_504992883_*|*_3_*:*_1_*:*_98525474_*|*_5_*:*_1_*:*_39432459855_*|*_6_*:*_1_*:*_0"}], "description": "We currently add :server hops with the constant \"cth://fake/server\".  This should instead contain an identity of the server adding the hop.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "31758", "fixedVersions": [], "id": "31758", "issueType": "Story", "key": "PCP-35", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "PCP", "projectLead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "projectName": "Puppet Communications Protocol", "projectType": "software", "projectUrl": null, "reporter": "557058:bc51acb1-04f0-4d4a-bab9-86e3e7c0520e", "resolution": "Fixed", "resolutionDate": "2015-10-08T04:44:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:42 AM", "summary": "Message hops should include the server identifty", "timeSpent": "PT0S", "updated": "2017-01-06T13:12:00.000000", "votes": "0", "watchers": []}], "key": "PCP", "lead": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "name": "Puppet Communications Protocol", "template": "com.pyxis.greenhopper.jira:gh-simplified-scrum-classic", "type": "software", "url": "", "versions": [{"name": "clj-pcp-client 0.1.0", "releaseDate": "2015-10-12", "released": true}, {"name": "clj-pcp-client 0.2.0", "releaseDate": "2015-10-22", "released": true}, {"name": "clj-pcp-client 0.2.1", "releaseDate": "", "released": false}, {"name": "clj-pcp-client 0.2.2", "releaseDate": "2016-03-15", "released": true}, {"name": "clj-pcp-client 0.3.0", "releaseDate": "2016-04-07", "released": true}, {"name": "clj-pcp-client 0.3.1", "releaseDate": "2016-07-14", "released": true}, {"name": "clj-pcp-client 0.3.2", "releaseDate": "2016-07-25", "released": true}, {"name": "clj-pcp-client 0.3.3", "releaseDate": "2016-08-09", "released": true}, {"name": "clj-pcp-client 0.4.0", "releaseDate": "2017-01-23", "released": true}, {"name": "clj-pcp-client 1.0.0", "releaseDate": "2017-02-07", "released": true}, {"name": "clj-pcp-client 1.1.0", "releaseDate": "2017-02-28", "released": true}, {"name": "clj-pcp-client 1.1.1", "releaseDate": "2017-03-08", "released": true}, {"name": "clj-pcp-client 1.1.2", "releaseDate": "", "released": false}, {"name": "clj-pcp-client 1.1.3", "releaseDate": "", "released": false}, {"name": "clj-pcp-common 0.5.0", "releaseDate": "2015-10-21", "released": true}, {"name": "clj-pcp-common 0.5.1", "releaseDate": "2016-07-07", "released": true}, {"name": "clj-pcp-common 0.5.2", "releaseDate": "2016-08-04", "released": true}, {"name": "clj-pcp-common 0.5.5", "releaseDate": "2016-12-13", "released": true}, {"name": "clj-pcp-common 1.0.0", "releaseDate": "2016-12-22", "released": true}, {"name": "clj-pcp-common 1.1.2", "releaseDate": "", "released": false}, {"name": "clj-pcp-common 1.1.3", "releaseDate": "", "released": false}, {"name": "clj-pxp-puppet 0.1.2", "releaseDate": "2016-06-29", "released": true}, {"name": "clj-pxp-puppet 0.2.0", "releaseDate": "2016-07-25", "released": true}, {"name": "clj-pxp-puppet 0.2.1", "releaseDate": "2016-08-25", "released": true}, {"name": "clj-pxp-puppet 0.3.0", "releaseDate": "2017-01-24", "released": true}, {"name": "clj-pxp-puppet 1.0.0", "releaseDate": "2017-02-23", "released": true}, {"name": "clj-pxp-puppet 1.0.1", "releaseDate": "", "released": false}, {"name": "cpp-pcp-client 1.0.0", "releaseDate": "", "released": false}, {"name": "cpp-pcp-client 1.0.1", "releaseDate": "2015-11-18", "released": true}, {"name": "cpp-pcp-client 1.0.2", "releaseDate": "", "released": false}, {"name": "cpp-pcp-client 1.0.3", "releaseDate": "", "released": true}, {"name": "cpp-pcp-client 1.0.4", "releaseDate": "2016-03-13", "released": true}, {"name": "cpp-pcp-client 1.1.0", "releaseDate": "2016-02-26", "released": true}, {"name": "cpp-pcp-client 1.1.1", "releaseDate": "2016-03-16", "released": true}, {"name": "cpp-pcp-client 1.1.2", "releaseDate": "2016-04-26", "released": true}, {"name": "cpp-pcp-client 1.1.3", "releaseDate": "2016-05-11", "released": true}, {"name": "cpp-pcp-client 1.1.4", "releaseDate": "2016-07-19", "released": true}, {"name": "cpp-pcp-client 1.2.0", "releaseDate": "2016-08-10", "released": true}, {"name": "cpp-pcp-client 1.2.1", "releaseDate": "2017-01-17", "released": true}, {"name": "cpp-pcp-client 1.3.0", "releaseDate": "2016-11-01", "released": true}, {"name": "cpp-pcp-client 1.3.1", "releaseDate": "2017-01-19", "released": true}, {"name": "cpp-pcp-client 1.4.0", "releaseDate": "2017-02-01", "released": true}, {"name": "cpp-pcp-client 1.5.0", "releaseDate": "2017-04-05", "released": true}, {"name": "cpp-pcp-client 1.5.1", "releaseDate": "2017-05-11", "released": true}, {"name": "cpp-pcp-client 1.5.3", "releaseDate": "2017-06-27", "released": true}, {"name": "cpp-pcp-client 1.5.4", "releaseDate": "2017-09-06", "released": true}, {"name": "cpp-pcp-client 1.5.5", "releaseDate": "2018-02-05", "released": true}, {"name": "cpp-pcp-client 1.5.6", "releaseDate": "2018-07-17", "released": true}, {"name": "cpp-pcp-client 1.5.7", "releaseDate": "2018-08-22", "released": true}, {"name": "cpp-pcp-client 1.5.8", "releaseDate": "2018-10-23", "released": true}, {"name": "cpp-pcp-client 1.5.z", "releaseDate": "", "released": false}, {"name": "cpp-pcp-client 1.6.0", "releaseDate": "2018-09-18", "released": true}, {"name": "cpp-pcp-client 1.6.z", "releaseDate": "", "released": false}, {"name": "pcp-broker 0.4.0", "releaseDate": "2015-10-15", "released": true}, {"name": "pcp-broker 0.4.1", "releaseDate": "2015-10-19", "released": true}, {"name": "pcp-broker 0.5.0", "releaseDate": "2015-10-21", "released": true}, {"name": "pcp-broker 0.6.0", "releaseDate": "2015-10-30", "released": true}, {"name": "pcp-broker 0.6.1", "releaseDate": "2015-11-05", "released": true}, {"name": "pcp-broker 0.6.2", "releaseDate": "2016-06-20", "released": true}, {"name": "pcp-broker 0.7.0", "releaseDate": "2016-03-14", "released": true}, {"name": "pcp-broker 0.7.1", "releaseDate": "2016-07-19", "released": true}, {"name": "pcp-broker 0.7.2", "releaseDate": "2016-07-20", "released": true}, {"name": "pcp-broker 0.7.3", "releaseDate": "2016-08-09", "released": true}, {"name": "pcp-broker 0.8.0", "releaseDate": "2016-08-09", "released": true}, {"name": "pcp-broker 0.8.1", "releaseDate": "2016-08-25", "released": true}, {"name": "pcp-broker 0.8.2", "releaseDate": "2016-10-10", "released": true}, {"name": "pcp-broker 0.8.3", "releaseDate": "2016-10-10", "released": true}, {"name": "pcp-broker 0.8.5", "releaseDate": "2016-12-13", "released": true}, {"name": "pcp-broker 0.8.4", "releaseDate": "2016-11-09", "released": true}, {"name": "pcp-broker 1.0.0", "releaseDate": "2017-01-09", "released": true}, {"name": "pcp-broker 1.1.0", "releaseDate": "2017-02-28", "released": true}, {"name": "pcp-broker 1.1.1", "releaseDate": "2017-03-06", "released": true}, {"name": "pcp-broker 1.2.0", "releaseDate": "2017-03-15", "released": true}, {"name": "pcp-broker 1.2.1", "releaseDate": "2017-03-20", "released": true}, {"name": "pcp-broker 1.3.0", "releaseDate": "2017-03-24", "released": true}, {"name": "pcp-broker 1.3.3", "releaseDate": "2017-05-17", "released": true}, {"name": "pcp-broker 1.4.0", "releaseDate": "2017-06-29", "released": true}, {"name": "pcp-broker 1.4.1", "releaseDate": "2017-07-24", "released": true}, {"name": "pcp-broker 1.4.2", "releaseDate": "2017-09-14", "released": true}, {"name": "pcp-broker 1.4.3", "releaseDate": "2017-10-11", "released": true}, {"name": "pcp-broker 1.5.1", "releaseDate": "", "released": false}, {"name": "pcp-broker 1.5.3", "releaseDate": "", "released": false}, {"name": "pxp-agent 1.0.0", "releaseDate": "2015-11-18", "released": true}, {"name": "pxp-agent 1.0.1", "releaseDate": "2015-11-30", "released": true}, {"name": "pxp-agent 1.0.2", "releaseDate": "2016-01-25", "released": true}, {"name": "pxp-agent 1.0.3", "releaseDate": "2016-03-14", "released": true}, {"name": "pxp-agent 1.1.0", "releaseDate": "2016-02-26", "released": true}, {"name": "pxp-agent 1.1.1", "releaseDate": "2016-03-16", "released": true}, {"name": "pxp-agent 1.1.2", "releaseDate": "2016-04-26", "released": true}, {"name": "pxp-agent 1.1.3", "releaseDate": "2016-05-17", "released": true}, {"name": "pxp-agent 1.1.4", "releaseDate": "2016-07-15", "released": true}, {"name": "pxp-agent 1.2.0", "releaseDate": "2016-08-10", "released": true}, {"name": "pxp-agent 1.2.1", "releaseDate": "2016-08-23", "released": true}, {"name": "pxp-agent 1.2.2", "releaseDate": "2016-10-20", "released": true}, {"name": "pxp-agent 1.2.3", "releaseDate": "2017-01-17", "released": true}, {"name": "pxp-agent 1.3.0", "releaseDate": "2016-11-01", "released": true}, {"name": "pxp-agent 1.3.1", "releaseDate": "2016-12-06", "released": true}, {"name": "pxp-agent 1.3.2", "releaseDate": "2017-01-19", "released": true}, {"name": "pxp-agent 1.4.0", "releaseDate": "2017-02-01", "released": true}, {"name": "pxp-agent 1.4.1", "releaseDate": "2017-02-27", "released": true}, {"name": "pxp-agent 1.5.0", "releaseDate": "2017-04-05", "released": true}, {"name": "pxp-agent 1.5.2", "releaseDate": "2017-05-11", "released": true}, {"name": "pxp-agent 1.5.3", "releaseDate": "2017-06-13", "released": true}, {"name": "pxp-agent 1.5.4", "releaseDate": "2017-07-26", "released": true}, {"name": "pxp-agent 1.5.5", "releaseDate": "2017-09-06", "released": true}, {"name": "pxp-agent 1.5.6", "releaseDate": "2018-02-05", "released": true}, {"name": "pxp-agent 1.5.7", "releaseDate": "2018-04-17", "released": true}, {"name": "pxp-agent 1.5.z", "releaseDate": "", "released": false}, {"name": "pxp-agent 1.6.0", "releaseDate": "2017-06-27", "released": true}, {"name": "pxp-agent 1.6.1", "releaseDate": "2017-07-19", "released": true}, {"name": "pxp-agent 1.7.0", "releaseDate": "2017-09-13", "released": true}, {"name": "pxp-agent 1.8.0", "releaseDate": "2017-10-02", "released": true}, {"name": "pxp-agent 1.8.1", "releaseDate": "2018-02-05", "released": true}, {"name": "pxp-agent 1.8.2", "releaseDate": "2018-02-13", "released": true}, {"name": "pxp-agent 1.8.3", "releaseDate": "2018-04-17", "released": true}, {"name": "pxp-agent 1.8.z", "releaseDate": "", "released": false}, {"name": "pxp-agent 1.9.0", "releaseDate": "2018-03-20", "released": true}, {"name": "pxp-agent 1.9.1", "releaseDate": "2018-04-18", "released": true}, {"name": "pxp-agent 1.9.2", "releaseDate": "2018-06-07", "released": true}, {"name": "pxp-agent 1.9.3", "releaseDate": "2018-07-17", "released": true}, {"name": "pxp-agent 1.9.4", "releaseDate": "2018-08-22", "released": true}, {"name": "pxp-agent 1.9.5", "releaseDate": "2018-10-23", "released": true}, {"name": "pxp-agent 1.9.6", "releaseDate": "2019-01-15", "released": true}, {"name": "pxp-agent 1.9.7", "releaseDate": "2019-03-26", "released": true}, {"name": "pxp-agent 1.9.8", "releaseDate": "", "released": false}, {"name": "pxp-agent 1.9.10", "releaseDate": "", "released": false}, {"name": "pxp-agent 1.9.z", "releaseDate": "", "released": false}, {"name": "pxp-agent 1.10.0", "releaseDate": "2018-09-18", "released": true}, {"name": "pxp-agent 1.10.1", "releaseDate": "2018-10-02", "released": true}, {"name": "pxp-agent 1.10.2", "releaseDate": "2018-10-04", "released": true}, {"name": "pxp-agent 1.10.3", "releaseDate": "2018-10-25", "released": true}, {"name": "pxp-agent 1.10.4", "releaseDate": "2019-01-15", "released": true}, {"name": "pxp-agent 1.10.5", "releaseDate": "2019-03-26", "released": true}, {"name": "pxp-agent 1.10.6", "releaseDate": "", "released": false}, {"name": "pxp-agent 1.10.7", "releaseDate": "", "released": false}, {"name": "pxp-agent 1.10.z", "releaseDate": "", "released": false}, {"name": "pxp-agent 1.11.0", "releaseDate": "2019-02-20", "released": true}, {"name": "pxp-agent 1.11.1", "releaseDate": "", "released": false}, {"name": "pxp-agent 1.11.2", "releaseDate": "", "released": false}, {"name": "pxp-agent 1.11.z", "releaseDate": "", "released": false}, {"name": "pxp-agent 1.12.0", "releaseDate": "", "released": false}, {"name": "pxp-agent 1.12.1", "releaseDate": "2019-07-01", "released": true}, {"name": "pxp-agent 1.12.3", "releaseDate": "", "released": false}, {"name": "pxp-agent 1.12.z", "releaseDate": "", "released": false}, {"name": "ruby-pcp-client 0.1.0", "releaseDate": "2016-01-12", "released": true}, {"name": "ruby-pcp-client 0.2.0", "releaseDate": "2016-02-18", "released": true}, {"name": "ruby-pcp-client 0.3.0", "releaseDate": "2016-04-05", "released": true}, {"name": "ruby-pcp-client 0.3.1", "releaseDate": "2016-04-06", "released": true}, {"name": "ruby-pcp-client 0.4.0", "releaseDate": "2016-04-18", "released": true}, {"name": "ruby-pcp-client 1.0.0", "releaseDate": "", "released": false}, {"name": "pcp-broker 1.5.4", "releaseDate": "", "released": false}, {"name": "Not needed", "releaseDate": "", "released": false}, {"name": "pxp-agent 1.12.4", "releaseDate": "", "released": false}, {"name": "pxp-agent 1.12.5", "releaseDate": "", "released": false}, {"name": "pxp-agent 1.13.1", "releaseDate": "", "released": false}, {"name": "pxp-agent 1.15.0", "releaseDate": "", "released": false}, {"name": "pxp-agent 1.15.2", "releaseDate": "", "released": false}, {"name": "pxp-agent 1.15.3", "releaseDate": "", "released": false}, {"name": "pxp-agent 1.15.4", "releaseDate": "", "released": false}, {"name": "pxp-agent 1.9.13", "releaseDate": "", "released": false}, {"name": "pxp-agent 1.15.7", "releaseDate": "", "released": false}, {"name": "pxp-agent 1.15.9", "releaseDate": "", "released": false}, {"name": "pxp-agent 1.15.14", "releaseDate": "", "released": false}, {"name": "pxp-agent 1.15.15", "releaseDate": "", "released": false}, {"name": "pxp-agent 1.15.16", "releaseDate": "", "released": false}]}]}